Outlook のマクロに問題があります。
現在、バッチを介して Outlook を呼び出し、バッチで設定した環境変数を介して取得したマクロの名前をパラメーターとして渡そうとしています。ただし、マクロの名前は取得できますが、Call 関数の時点でプロセスが停止します。誰かが正しい進め方を教えてくれませんか?
VBA ThisOutlookSession
Private Sub Application_Startup()
Dim strMacroName As String
strMacroName = CreateObject("WScript.Shell").Environment("process").Item("MacroName")
'MsgBox strMacroName
'MsgBox VarType(strMacroName)
If strMacroName <> "" Then Call strMacroName
End Sub
VBA モジュール
Option Explicit
Sub macro1()
MsgBox "macro1"
End Sub
Sub macro2()
MsgBox "macro2"
End Sub
バッチ
Set WorkingPath=C:\Temp\Outlook
Set MacroName=%1
start OUTLOOK.EXE
Set MacroName=
Set WorkingPath=
結果