- ベストアンサー
バッチファイルからVBSを経由してエクセルのマクロを有効にして起動できない問題について
- Win/XPのエクセル2002を使用しています。バッチファイルからVBSを経由してエクセルのマクロを有効にして起動しようとしていますが、うまくいきません。
- VBSのRunメソッドがエクセルマクロのApplication.OnTimeを待たずに走ってしまい、エクセルマクロが無効になっている可能性があります。
- また、データ更新のためのsendkey("U")によってマクロが無効になっている可能性も考えられます。アドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 VBS を使うなら、Excel のインスタンスを作り、Workbooks.Open で ブックを開けばマクロのセキュリティー警告は表示されません。 # Open メソッドの第二引数でリンクの更新も指定できますし SendKeys を使った方法より確実ですよ。一例です。 REM ■ Sample.bat ------------------------------------------ cd /D c:\ C:\test.vbs exit /B ' // ■ VBS --- C:\test.vbs -------------------------------- Dim xlApp Dim xlWbk Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True ' // Memo: Workbooks.Open Filename, UpdateLinks ... ' // リンクを更新させて開く Set xlWbk = xlApp.Workbooks.Open("C:\test.xls", True) ' // ■ Excel --- C:\test.xls ------------------------------- ' // ThisWorkbook Module ( Auto_Open 不可では不可) Private Sub Workbook_Open() Application.OnTime Now() + TimeValue("00:00:03"), "Action" End Sub ' // Standard Module Sub Action() MsgBox "Hellow!", vbInformation End Sub
その他の回答 (1)
- KenKen_SP
- ベストアンサー率62% (785/1258)
#1 です。失礼。下記意味不明なことを口走ってますが、、 > ' // ThisWorkbook Module ( Auto_Open 不可では不可) Auto_Open ではなく、ThisWorkbook の Workbook_Open を使って下さい との意味です。
お礼
KenKen_SP 様 早速のご回答ありがとうございます。 むっちゃ速! です(^・^) ご教授いただいた上に、速い、確実! 最高です。 快調に動きだしました。 今後ともよろしくお願いします。 本当にありがとうございました。