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:フィルタを操作して絞り込む

Excel VBAでフィルタ操作をして、行を絞り込みむ方法です。 コード Sub autoFilter(Retsu, Atai) Worksheets(“シート名”).Rang…続きを読む

Excel:保存先の場所を常にデスクトップにする

Microsoft Excel2019で新規に保存をしようとするとOne Driveなどが最初に候補にあがってきてしまい、コンピュータ上に保存したいときに、いちいちデスクトップを指定するのに手間取りま…続きを読む

Excelで開発タブを表示する

ExcelでVBAをつくるときに「開発」メニューを使いますが、最初は表示されていません。 「開発」を表示するには、Excelを起動して、「ファイル」→「オプション」→「リボンのユーザー設定」から、「リ…続きを読む

Excelで複数部印刷しようとしても指定部数印刷されない

Excelを開いて複数部印刷しようとしても、指定部数が印刷されない不具合への対処法です。 例えば、5部印刷しようとしても、1部ないしは2部しか印刷されません。 そして、エラーメッセージとして「【プリン…続きを読む

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

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

Excel:改行を含むテキストを置換する

Microsoft Excelで、セルの中で改行しているテキストを置換する方法です。 以下のように、 あああ いいい という改行を含むテキストを「おおお」というテキストに置換します。 改行を含めたテキ…続きを読む

Exdel VBA:グローバル変数の指定

Excel VBAでグローバル変数を設定する方法です。 プロシージャ内で宣言した変数は、そのプロシージャ内でしか通用しません。 すべてのプロシージャから参照するような定数を設定する場合には、以下のよう…続きを読む

Excelでワークシートを追加しようとすると「名前が変更されたか、移動や削除が行われた可能性があります」というエラーが表示される

Excelでワークシートを追加しようとしたら、「****\ワークシート.xlsxが見つかりません。名前が変更されたか、移動や削除が行われた可能性があります。」と表示されて、ワークシートを追加することが…続きを読む

Excel VBA:指定した列を非表示にする

Excel VBAで、予め指定した列を非表示にします。 コード hiddenColumn = Array(3, 4, 5, 6) For i = 0 To UBound(hiddenColumn) W…続きを読む