関数は自分で作る

VBA.Shell “cmd “,vbNormalFocus

で実行するコマンドプロンプトは、システムの変数のPathしか有効じゃない!

Windowsシステム・ツールにあるコマンドプロンプトまたは、ファイル名をcmdで指定して実行するとPathは通っているのに、

VBA.Shell “cmd “,vbNormalFocus

で開いたコマンドプロンプトでは実行できない。Pathが通っていない話。

コントロール パネル\システムとセキュリティ\システム

ユーザーの環境変数もあるが、VBAのShell関数ではユーザーの環境変数は有効じゃなかった。という話。

なぜ何か。勘違いかわからないがユーザーのPathにあっても実行できないことを確認した。

いイミディエイトウィンドウに

VBA.Shell “cmd “,vbNormalFocus

を書き込んで実行するとコマンドプロンプトが起動する。ユーザー定義のPathしか通していない.exeファイルを確認して実行するとわかる。

Windowsシステム・ツールにあるコマンドプロンプト(cmd.exeはC:\Windows\System32にある)は当然、ユーザーのPathとシステムのPathの両方が有効なので実行できる。

モバイルバージョンを終了