Macros Excel不会关闭进程
因此,我使用(修改后)此代码,从这里开始: 我的错误:运行时错误:未知的运行时错误 我已经搜索了很多地方,想找到一种关闭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
' 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实例,仅关闭引用实例的所有窗口。抱歉,没有响应,已在休假。嗯,退出和关闭对我不起作用,如果是的话,我不会说我已经尝试过了,并在这里问了一个问题:-)只是说。