
お世話になります。
a.batというバッチファイルがあります。
このファイルを起動させた時にABC.xlsというEXCELが起動するようにしたいのですが、その際にバッチファイル側から"1303"という文字列をabc.xlsに引数として渡したいのです。
EXCEL側ではauto_open(a)で待ち受けて、このaに"1303"が入ってmsgで"1303"と表示させたいのですが、引数は省略出来ません、というエラーが出てしまいます。
どなたかやり方をご教授いただけませんでしょうか?よろしくお願い致します。
環境 WindowsXP SP3 Excel2003
==============================
バッチファイル側
==============================
@echo off
echo バッチファイルを実行します。
ABC.xls "1303"
echo 終了しました。
==============================
EXCEL VBA側
==============================
Sub auto_open(a As String)
Msg a
end sub
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
などと・・・ですかね。
nicotinismさん、早速のご連絡ありがとうございました!
ご教授いただきました方法で実現できました!!
このようなやり方があったのですね!とても勉強になりました。
本当にありがとうございました!!助かりました!
No.1
- 回答日時:
こんにちわ。
(試していないので申し訳ありませんが)
できません!というのが、回答になります。
ですが、下記のサイトのように、vbsをかませば、できるようです。
http://chaichan.lolipop.jp/vbtips/VBMemo20060824 …
ymdaさん、早速のご連絡ありがとうございました!
仰る通り、私のやり方ではダメだったようです。。
この度は大変勉強になりました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELをバッチコマンドで起動したとき、引数を渡せますか
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
バッチファイルでEXCELを起動し、マクロ処理の完了を検出する方法
その他(プログラミング・Web制作)
-
-
4
開いてるファイル(エクセル等)をバッチかVBScript自動的に保存す
その他(Microsoft Office)
-
5
VBAでバッチファイルを1つ実行する方法がうまくいきません
Visual Basic(VBA)
-
6
Openイベントを開始させないでエクセルを開く方法を教えて下さい
Windows 10
-
7
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
8
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
9
エクセルで外部データの取り込みの際の「名前の定義」について。
その他(Microsoft Office)
-
10
XCOPYでネットワーク越しにコピーすると、「無効なドライブ指定です」と表示される
その他(プログラミング・Web制作)
-
11
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
12
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
13
VBAで条件によりフォントサイズを自動で変更したい2
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
psqlでエラーログをとりたい
-
ファイルの最後に文字列挿入
-
renameコマンドについて
-
多数のサブディレクトリ内のフ...
-
拡張子を元に戻す
-
CMakeでエラーが出ます
-
VBSでフォルダ内のテキストファ...
-
バッチファイル 複数ファイル...
-
forfilesで検索したファイルを...
-
UWSCでテキストファイルを開い...
-
ファイル名の一部をbatで変更し...
-
COPYコマンドで結合すると余計...
-
Windowsのバッチファイルを利用...
-
accessでSQL文を使ってcsvファ...
-
バッチファイルで文字列削除に...
-
fortran77で複数のファイルの読...
-
外部exeに対しての引数受け渡し
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
テキストファイルで提出とは?
-
多数のサブディレクトリ内のフ...
-
ファイル名の一部をbatで変更し...
-
ファイル内容の修正、行削除に...
-
拡張子を元に戻す
-
エクセルの各セルの内容をそれ...
-
psqlでエラーログをとりたい
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windows マシンでFTPバッチが動...
-
バッチファイルで文字列削除に...
-
バッチファイル 複数ファイル...
-
UWSCでテキストファイルを開い...
-
ExcelVBA テキストファイルUNIC...
-
VBSでフォルダ内のテキストファ...
-
外部exeに対しての引数受け渡し
-
accessでSQL文を使ってcsvファ...
おすすめ情報