- ベストアンサー
エクセルVBAでテキストファイル(バッチファイルの作成)
- エクセルVBA超初心者のため、テキストファイル(バッチファイル)の作成方法について困っています。C言語しか知らないので、ファイル入出力の記述方法がわかりません。
- エクセルVBAでボタンを実行して、デスクトップにテキストファイル(バッチファイル)を作成する方法を教えてください。バッチファイルの内容は、サーバー上からプログラムフォルダをダウンロードし、フォルダへ移動してショートカットをデスクトップに作成するというものです。
- エクセルVBA初心者ですが、テキストファイル(バッチファイル)の作成方法について教えてください。具体的には、ボタンをクリックしたら特定のフォルダをダウンロードして指定の場所に保存し、ショートカットをデスクトップに作成するバッチファイルの作成方法が知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub MakeBat() Dim n As Long Dim DesktopPath As String n = FreeFile DesktopPath = CreateObject("WScript.Shell").SpecialFolders("desktop") Open DesktopPath & "\Test.bat" For Output As #n Print #n, "Rem サーバー上からプログラムフォルダをダウンロードする。" Print #n, "XCOPY \\hk001a24\va\data\ツール配信用\セグメント D:\セグメント /I/Y/F/E" Print #n, "Rem フォルダへ移動する。" Print #n, "D:" Print #n, "CD D:\セグメント" Print #n, "Rem ショートカットをデスクトップに作成する。" Print #n, "csc.exe ""D:\セグメント\入力シート.xls""; ""?desktop?\セグメント入力シート.lnk""" Print #n, "csc.exe ""D:\セグメント\出力シート.xls"" ""?desktop?\セグメント出力シート.lnk""" Print #n, "csc.exe ""D:\セグメント\出力帳票"" ""?desktop?\セグメント出力帳票.lnk""" Print #n, "exit" Close #n End Sub
その他の回答 (1)
- PrintScree
- ベストアンサー率25% (538/2091)
バッチの内容が固定なら、事前に雛型として作成しておき、コマンドボタンクリック時に、雛型のバッチファイルをディスクトップにコピーしてやればよいのでは? そうすれば、VBAでファイルを作成する必要がなくなりますが…
補足
すみません、説明が足りませんでした。 バッチの内容は固定ではなく可変なのです。 実行ボタンを押される前にかデータをINPUTしてから 実行する形になるのでプログラムが必要になるのかと・・・
お礼
全部ご回答頂きましてありがとうございました。 これからちゃんと勉強していきます。 またよろしくお願いいたします。