VBS脚本后还剩下Excel进程

时间:2019-08-15 22:41:07

标签: excel vba vbscript

我正在运行一个批处理文件,该文件调用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

0 个答案:

没有答案