簡體   English   中英

Excel VBA 工作簿_打開在 Excel 已經打開時不起作用

[英]Excel VBA Workbook_Open does not work when Excel is already open

我試圖自動化 VBA 運行,其文件從命令行打開如下:

cmd.exe /C set MacroName=MyMacro \& EXCEL.EXE C:\\_documents\\Book2.xlsm

VBA 腳本和文件如下:

Book2.xlsm/Module1

Sub MyMacro()
    MsgBox "MyMacro is running..."
End Sub

Book2.xlsm/ThisWorkbook

Private Sub Workbook_Open()
    Dim strMacroName As String
    strMacroName = CreateObject("WScript.Shell").Environment("process").Item("MacroName")
    If strMacroName <> "" Then Run strMacroName
End Sub

現在,上面的 cmd 命令確實有效,當 Excel 未打開時,預計會通過 MsgBox 通知我。 但是當 Excel 已經與其他項目/文件一起打開時,它不起作用。

我怎樣才能使這項工作?

問題是,當您在已經打開的 Excel 實例中啟動 Excel 文件時,通過 cmd.exe 傳遞環境變量或命令行由於某種原因無法正常工作,而不是 VBA 端的問題。

我仍然不確定這是一個錯誤還是我做錯了什么。 如果有人能幫助解決我的疑惑,我將不勝感激。

暫無
暫無

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

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