簡體   English   中英

如何從 VBS 腳本關閉 Excel 文件?

[英]How to close Excel file from VBS script?

這是一個由任務計划器中的 cscript.exe 啟動的 VBS 文件。 腳本看起來很好,應該在宏完成后關閉 excel 文件。 但是,excel 文件停留在 windows 后台並且不會關閉。 來自 Excel 的宏運行並保存自身和 activeworkbook.close 的副本並發送帶有新文件的 email 然后 vbs 應關閉 excel 應用程序。 除了 Excel 文件都留在后台之外,一切都很好。 有什么方法可以強制關閉這些文件而不是所有 excel 進程?

問題:從后台終止並殺死 excel 文件

使用 Excel 2016, .VBS 腳本如下:

Dim ObjExcel, ObjWB
Set ObjExcel = CreateObject("excel.application")
Set ObjWB = ObjExcel.Workbooks.Open("C:\order1.xlsm")
ObjWB.Close False
ObjExcel.Quit
Set objFileName = Nothing
Set ObjExcel = Nothing

WScript.Sleep 3000

Set ObjExcel2 = CreateObject("excel.application")
Set ObjWB2 = ObjExcel2.Workbooks.Open("C:\order2.xlsm")
ObjWB2.Close False
ObjExcel2.Quit
Set objFileName2 = Nothing
Set ObjExcel2 = Nothing

這是你的代碼

dim oServ As Object
    Dim cProc As Variant
    Dim oProc As Object
    
    Set oServ = GetObject("winmgmts:")
    Set cProc = oServ.ExecQuery("Select * from Win32_Process")
    
    For Each oProc In cProc
    
        **'Rename EXCEL.EXE in the line below with the process that you** need to Terminate. 
        'NOTE: It is 'case sensitive
    
        If oProc.Name = "EXCEL.EXE" Then
          MsgBox "KILL"   ' used to display a message for testing pur
          oProc.Terminate()
        End If
    Next

這是你的代碼

Set ObjWB = GetObject("C:\order1.xlsm")

請注意,您的所有其他行都是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM