[英]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.