• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチファイルからVBAに引数を渡したい)

バッチファイルからVBAに引数を渡したい

このQ&Aのポイント
  • バッチファイルからVBAに引数を渡す方法について教えてください。
  • バッチファイルでABC.xlsを起動し、引数として"1303"を渡したいです。
  • EXCELのVBAでauto_open(a)を使用して、引数の値を表示したいですが、エラーが出てしまいます。どのようにすれば解決できますか?

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

Excel には起動時に渡せるオプションがありませんね。。 Batでは Echo 1303 > d:\後で消す.txt Explorer.exe d:\data\ABC.xls rem ↑横着してます。"C:\・・・\excel.exe " "d:\data\ABC.xls" が王道です Excelでは Sub auto_open() Dim ff As Integer Dim buf As Variant If Dir("d:\後で消す.txt") = "" Then MsgBox "何もなし" Exit Sub Else ff = FreeFile Open "d:\後で消す.txt" For Input As ff Input #ff, buf MsgBox buf Close ff Kill "d:\後で消す.txt" End If End Sub とか? 一時的に"d:\後で消す.txt"に書き込んで Excelで読み込んだらKillで消してます。 1303 だけでなく任意の値なら Echo %1 > d:\後で消す.txt Explorer.exe d:\data\123\ABC.xls というBatファイルを Test.bat 名で保存して コマンドプロンプトから ・・・・\test.bat 999 などと・・・ですかね。

yakkun2338
質問者

お礼

nicotinismさん、早速のご連絡ありがとうございました! ご教授いただきました方法で実現できました!! このようなやり方があったのですね!とても勉強になりました。 本当にありがとうございました!!助かりました!

その他の回答 (1)

回答No.1

こんにちわ。 (試していないので申し訳ありませんが) できません!というのが、回答になります。 ですが、下記のサイトのように、vbsをかませば、できるようです。 http://chaichan.lolipop.jp/vbtips/VBMemo2006082401.htm

yakkun2338
質問者

お礼

ymdaさん、早速のご連絡ありがとうございました! 仰る通り、私のやり方ではダメだったようです。。 この度は大変勉強になりました。 ありがとうございました!

関連するQ&A