簡體   English   中英

VBScript代碼可保持Excel文件打開

[英]VBScript code to keep Excel file open

我有一個VBScript代碼來打開excel文件,運行宏並關閉它。 精細。

現在,我唯一要更改的就是將文件保持打開狀態。

如果我刪除了兩行代碼xlApp.activewindow.close和xlApp.Quit,則無論如何該工作簿和該應用程序都是關閉的,但它們仍在后台打開(Excel進程在任務管理器中仍處於活動狀態)。 因此,以后無法通過再次調用腳本在同一文件上重新運行宏(這正是我要執行的操作)。

為什么?

這是代碼:

Option Explicit

On Error Resume Next

MyTest

Sub MyTest()
    Dim xlApp
    Dim xlBook
    Dim fpath 
    Dim fname 

    ' Excel application running? if not, open Excel
    On Error Resume Next    
    Set xlApp = GetObject(, "Excel.Application")
    If xlApp <> "Microsoft Excel" Then
        Set xlApp = CreateObject("Excel.Application")
    End If
    Err.Clear

    ' correct Excel file open? if not, open it
    fpath = "D:\Desktop\"
    fname = "MyTest.xls"

    xlApp.Workbooks(fname).Activate
    If Err = 0 Then
        ' no error, so it has been possible to activate the workbook
        Set xlBook = xlApp.Workbooks(fname)
    Else
        ' unable to activate, so workbook was not open -> open it now
        Set xlBook = xlApp.Workbooks.Open(fpath & fname, 0, True)
    End If
    Err.Clear

    ' now run the desired macro in the excel file
    xlApp.Run "HelloWorld"

    ' WANT TO CHANGE THIS
    xlBook.saved = True
    xlApp.activewindow.close

    ' AND THIS
    xlApp.Quit


    Set xlBook = Nothing
    Set xlApp = Nothing
End Sub

您只需要使新的Excel實例可見即可。 創建后立即執行以下操作:

xlApp.Visible = True

這行代碼將關閉您當前激活的工作簿(到目前為止,它是D:\\Destop\\MyTest.xls );

xlApp.activewindow.close

此行將退出Excel應用程序;

xlApp.Quit

暫無
暫無

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

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