HOME技術ExcelExcel VBAでコマンドプロンプトを起動しコマンドを実行する

Excel VBAでコマンドプロンプトを起動しコマンドを実行する

Excel VBAでコマンドプロンプトを起動し、かつコマンドを実行する方法です。

コマンドプロンプトの実行

コマンドプロンプトを実行するには以下のように書きます。

CreateObject (“WScript.Shell”).Run “CMD.EXE”

さらにコマンドを実行するには、以下のように書きます。
ここではディレクトリを変更します。

CreateObject (“WScript.Shell”).Run “CMD.EXE /k cd c:\”

これでc:\にディレクトリを変更しました。
「/k」は「コマンドプロンプトを実行した後で起動したままにする」というオプションです。
これを「/c」にすると、実行後にプロンプトを閉じます。

関連記事

Excel VBAで他のプログラムを実行し処理が終わってから次の処理をする

CreateObject(“WScript.Shell”).Runを使って他のプログラムを実行する場合、デフォルトだと起動したプログラムの処理が終わる前に次の処理に移ってしまい…続きを読む

Excel VBAでフィルタの絞り込みを解除する

ExcelVBAを使って、フィルタで絞り込んだ内容を解除する方法です。 VBAコード If Worksheets(“シート名”).FilterMode Then Workshe…続きを読む

Excel VBAでシートを並び替える

ExcelVBAでシート内のデータを並び替える方法です。 VBAのコード Endrow  = Worksheets(SheetName).Range(“A1”).End(xlD…続きを読む

Excel:「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」と表示される

メールに添付されたマクロ付きExcelファイルを開いたところ、 「このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」と表示され、マクロが実行できなくなっ…続きを読む

Excel VBA:最終行番号を取得する

Excelでデータ管理をしていて、VBAでその全データに対して何らかの処理を行う場合、1行目から最終行までループさせて処理を1行ずつ行う場合には、最終行を取得する必要があります。 今回は、最終行を取得…続きを読む

Excelで起動時にフォームのみ表示する

Excelで起動時にフォームを表示し、Excelそのものの表画面は非表示にする方法です。 起動時にフォームを表示する 「開発」→「コードの表示」から「Microsoft Visual Basic fo…続きを読む

Excel:ハイパーリンクで別ファイルを開く

Excelにおいて、別ファイルにハイパーリンクを付けて、リンクをクリックすると指定したファイルが開くようにします。 通常のハイパーリンクの作成の場合だと、セルの上で右クリック→「リンク」をクリックして…続きを読む

Excelで計算式を入れたセルに計算結果が反映されない

Excelで計算式を予め設定していたにもかかわらず、数値を入力してもそのセルに計算結果が反映されない時があります。 通常、自動計算する設定になっていますが、これが手動計算に変わっていることが原因です。…続きを読む

Excel VBAでログイン管理をする

Excelを開いたときに「閲覧のみ」ユーザか「管理者」ユーザかを選び、「閲覧のみ」ユーザの場合にはExcelを閉じるときに保存できないようにして、「管理者」ユーザの場合には、Excelを閉じるときに変…続きを読む

Excelのフォームのタブオーダーを指定する

Excelでフォームを設定し、部品を複数配置していると、タブキーやEnterキーを押すと次の部品にフォーカスを飛ばすことができます。 この順序が意図したとおりでない場合に、自分で設定する方法を調べまし…続きを読む