我正在运行一个批处理文件,该文件调用vbs脚本以打开工作簿,执行一个宏(调用多个子和函数),创建并显示电子邮件,另存为工作簿的版本,然后关闭工作簿并关闭该过程。 执行后由于某种原因,工作簿将关闭,但是无论我做什么,我仍将运行空白的excel进程。除了卡住运行的单独进程外,其他所有工作都很好。如何摆脱最终遇到的幽灵实例?为什么我会陷在Excel流程中?
批处理脚本调用VBS进程:
cscript update.vbs "C:\Test\Batch\AutoUpdate\Summ.v1.xlsm"
VBScript:
Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = True
objExcel.Run "NewRunAll"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Quit
set objExcel = Nothing
WScript.Quit
书籍中的VBA保存流程:
Public Sub SaveDownBook()
'Saves down a copy of the entire workbook
Dim filePath As String, fileName As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
On Error GoTo saveDownBook_bailOut
filePath = Sheet7.Range("copy_filepath").Value
fileName = Sheet7.Range("historical_filename").Value
ThisWorkbook.SaveCopyAs (filePath + fileName)
ActiveWorkbook.Close
saveDownBook_bailOut:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
If Err.Number <> 0 Then
MsgBox ("Error Description: " + Err.Description)
MsgBox ("Error Number: " + Err.Number)
End If
End Sub