• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイルファイル→VBS→エクセル マクロを有効にして起動)

バッチファイルからVBSを経由してエクセルのマクロを有効にして起動できない問題について

このQ&Aのポイント
  • Win/XPのエクセル2002を使用しています。バッチファイルからVBSを経由してエクセルのマクロを有効にして起動しようとしていますが、うまくいきません。
  • VBSのRunメソッドがエクセルマクロのApplication.OnTimeを待たずに走ってしまい、エクセルマクロが無効になっている可能性があります。
  • また、データ更新のためのsendkey("U")によってマクロが無効になっている可能性も考えられます。アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 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)
回答No.2

#1 です。失礼。下記意味不明なことを口走ってますが、、 > ' // ThisWorkbook Module ( Auto_Open 不可では不可) Auto_Open ではなく、ThisWorkbook の Workbook_Open を使って下さい との意味です。

ken123
質問者

お礼

KenKen_SP 様 早速のご回答ありがとうございます。 むっちゃ速! です(^・^) ご教授いただいた上に、速い、確実! 最高です。 快調に動きだしました。 今後ともよろしくお願いします。 本当にありがとうございました。

関連するQ&A