我无法closuresExcel应用程序

我有这样的代码,我写在VBScript为wincc,运行后,Excel应用程序仍在运行,该脚本后,项目不能正常工作。 我能做些什么来closuresExcel应用程序?

这是脚本:

Dim fso Dim rowcount Dim ExcelObject Dim WorkbookObject Dim file Dim i Dim tg Dim objSheet1 Dim objSheet2 'Set Object Set fso = CreateObject("Scripting.FileSystemObject") Set ExcelObject = CreateObject("Excel.Application") file="C:\Parametri\Codificari.xls" Set WorkbookObject = ExcelObject.Workbooks.Open(file) 'Set objSheet1 = WorkbookObject.Worksheets(1) Set objSheet2 = WorkbookObject.Worksheets(2) objSheet2.Cells(1,1)=SmartTags("locatie_defect") If (fso.FileExists(file)) Then 'Raw numbering in Excel rowcount = objSheet2.UsedRange.Rows.count For i=3 To rowcount tg="defect_"&i-2 SmartTags(tg)=objSheet2.Cells(i,2) Next End If On Error Resume Next 'Save and close excel ExcelObject.DisplayAlerts = False ExcelObject.Workbooks.Close False ExcelObject.Workbooks.Save ExcelObject.Quit On Error Resume Next 

  1. 标准的closures方式(无error handling)

     WorkbookObject.Save WorkbookObject.Close False ExcelObject.Quit Set WorkbookObject= Nothing Set ExcelObject = Nothing 
  2. 确保所有的参考资料完全合格,请看这里 。 在快速查看这不会跳出你的代码。

由于某些原因,Excel在用作应用程序对象时并不遵循COM规则。 无疑有一些兼容性的原因。

它遵循COM规则作为doc对象。

因此, Set WorkbookObject = GetObject("C:\Parametri\Codificari.xls") ,现在当它超出范围,只要它不可见,它将closures。 所以只需保存它,当脚本结束时它会closures。 你可能只需要你有一半的线路。