只有一个excel进程的方式,也就是单例的模式操作EXCEL,否则我们运行的时候,在后台查看进程会发现,会出现很多的excel进程,最终导致系统资源不够。
虽然set excelapp=nothing可以将对应的excel进程释放,但是释放的时候却有一个缓存时间,所以一般需要过一段时间才能关闭掉excel的进程。
如果不采用单利模式进行excel的操作,后台会出现以下的情况:
例如下面的函数来操作QTP的读写数据的时候就会出现这个问题:
public Function WriteExcelCell (pathway,sheetname,x,y,cellvalue)
Dim srcData,srcDoc,ret
Set srcData = CreateObject("Excel.Application")
srcData.Visible=false
Set srcDoc= srcData.Workbooks.Open(pathway)
srcDoc.Worksheets(sheetname).Activate
srcDoc.Worksheets(sheetname).cells(x,y)= cellvalue
srcDoc.save
srcDoc.Close
Set srcData = Nothing
Set srcDoc = Nothing
End Function
注意:写成单例的模式只操作一次,好处很多。
本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/05/31/2528833.html
,如需转载请自行联系原作者。