Macros Excel不会关闭进程

Macros Excel不会关闭进程,macros,vbscript,excel-2010,Macros,Vbscript,Excel 2010,因此,我使用(修改后)此代码,从这里开始: 我的错误:运行时错误:未知的运行时错误 我已经搜索了很多地方,想找到一种关闭Excel进程的方法,但几乎每个人都在使用。很遗憾,退出会导致上述错误。我也试过了。很接近,但不被认可 ' Create a WshShell to get the current directory Dim WshShell Set WshShell = CreateObject("WScript.Shell") ' Create an Excel instance Di

因此,我使用(修改后)此代码,从这里开始:

我的错误:运行时错误:未知的运行时错误

我已经搜索了很多地方,想找到一种关闭Excel进程的方法,但几乎每个人都在使用。很遗憾,退出会导致上述错误。我也试过了。很接近,但不被认可

' Create a WshShell to get the current directory
Dim WshShell
Set WshShell = CreateObject("WScript.Shell") 

' Create an Excel instance
Dim myExcelWorker
Set myExcelWorker = CreateObject("Excel.Application") 

' Disable Excel UI elements
myExcelWorker.DisplayAlerts = False
myExcelWorker.AskToUpdateLinks = False
myExcelWorker.AlertBeforeOverwriting = False
myExcelWorker.FeatureInstall = msoFeatureInstallNone

' Tell Excel what the current working directory is 
Dim strSaveDefaultPath
Dim strPath
strSaveDefaultPath = myExcelWorker.DefaultFilePath
strPath = "C:\Users\hviid00m\Desktop"
myExcelWorker.DefaultFilePath = strPath

' Open the Workbook specified on the command-line 
Dim oWorkBook
Dim strWorkerWB
strWorkerWB = strPath & "\Status Report (Boxplots) TEST.xlsm"

Set oWorkBook = myExcelWorker.Workbooks.Open (strWorkerWB, , , , , , True)

' Build the macro name with the full path to the workbook
Dim strMacroName
strMacroName = "Refresh"
on error resume next 
myExcelWorker.Run strMacroName
if err.number <> 0 Then
WScript.Echo "Fejl i macro"
End If
err.clear
on error goto 0 
oWorkBook.Save 
' Clean up and shut down
' Don’t Quit() Excel if there are other Excel instances 
' running, Quit() will shut those down also
myExcelWorker.Quit <--- ERROR

Set oWorkBook = Nothing
Set myExcelWorker = Nothing
Set WshShell = Nothing
'创建WshShell以获取当前目录
昏暗的地狱
设置WshShell=CreateObject(“WScript.Shell”)
'创建Excel实例
我的业余爱好者
设置myExcelWorker=CreateObject(“Excel.Application”)
'禁用Excel UI元素
myExcelWorker.DisplayAlerts=False
myExcelWorker.AskToUpdateLinks=False
myExcelWorker.AlertBeforeOverwriting=False
myExcelWorker.FeatureInstall=msoFeatureInstallNone
'告诉Excel当前工作目录是什么
暗strSaveDefaultPath
暗通道
strSaveDefaultPath=myExcelWorker.DefaultFilePath
strPath=“C:\Users\hviid00m\Desktop”
myExcelWorker.DefaultFilePath=strPath
'打开命令行上指定的工作簿
暗淡的工作手册
Dim STRWORKERB
strWorkerWB=strPath&“\Status Report(Boxplots)TEST.xlsm”
设置oWorkBook=myExcelWorker.Workbooks.Open(strWorkerWB,,,True)
'使用工作簿的完整路径生成宏名称
Dim strMacroName
strMacroName=“刷新”
出错时继续下一步
myExcelWorker。运行strMacroName
如果错误号为0,则
Echo“Fejl i宏”
如果结束
清楚
错误转到0
oWorkBook,保存
"清理关闭",
'如果存在其他Excel实例,则不退出()Excel
'running,Quit()也将关闭这些

myExcelWorker.Quit在另一侧找到一些代码。 (据我所知)原因是.Quit和.Close用于VBA而不是VBS

' Clean up and shut down
' Don’t Quit() Excel if there are other Excel instances 
' running, Quit() will shut those down also
Dim objWMIService, objProcess, colProcess

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") 
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = "         & "'EXCEL.EXE'")

For Each objProcess in colProcess
objProcess.Terminate()
Next`

Set oWorkBook = Nothing
Set myExcelWorker = Nothing
Set WshShell = Nothing

这是不正确的<代码>退出(在应用程序对象上)和关闭(在工作簿上)在VBScript中工作正常。另外,
Quit
将不会关闭其他Excel实例,仅关闭引用实例的所有窗口。抱歉,没有响应,已在休假。嗯,退出和关闭对我不起作用,如果是的话,我不会说我已经尝试过了,并在这里问了一个问题:-)只是说。