- ベストアンサー
バッチファイルからVBAに引数を渡したい
- バッチファイルからVBAに引数を渡す方法について教えてください。
- バッチファイルでABC.xlsを起動し、引数として"1303"を渡したいです。
- EXCELのVBAでauto_open(a)を使用して、引数の値を表示したいですが、エラーが出てしまいます。どのようにすれば解決できますか?
- みんなの回答 (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 などと・・・ですかね。
その他の回答 (1)
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
こんにちわ。 (試していないので申し訳ありませんが) できません!というのが、回答になります。 ですが、下記のサイトのように、vbsをかませば、できるようです。 http://chaichan.lolipop.jp/vbtips/VBMemo2006082401.htm
お礼
ymdaさん、早速のご連絡ありがとうございました! 仰る通り、私のやり方ではダメだったようです。。 この度は大変勉強になりました。 ありがとうございました!
お礼
nicotinismさん、早速のご連絡ありがとうございました! ご教授いただきました方法で実現できました!! このようなやり方があったのですね!とても勉強になりました。 本当にありがとうございました!!助かりました!