WshShellオブジェクト

WshShellオブジェクトとは?

WshShellオブジェクト」は、プログラムの実行や環境変数の操作、レジストリの操作等、OSに対する処理を行うオブジェクトです。

 

WshShellオブジェクトが提供する主な機能

  • カレントフォルダのPath
  • 特殊フォルダのPath
  • 環境変数の値
  • 外部プログラムの実行・制御
  • ショートカットの作成
  • レジストリの操作

WshShellオブジェクトの作成

WshShellオブジェクトは既定のオブジェクトではないので、使用するためにはCreateObjectを使って明示的にオブジェクトを作成する必要があります。

Set objShell = WScript.CreateObject("WScript.Shell")

VBAでは、「Windows Script Host Object Model」を参照設定することでも、WshShellオブジェクトが使用できます。

 

VBAからコマンド・外部プログラムの実行

次の2通りの方法があります。

  • VBSのShell関数を使う
  • WshShellオブジェクトのRunメソッド・Execメソッドを使う
    • 「Windows Script Host Object Model」を参照設定してWshShellオブジェクトを取得する
    • WScript.CreateObject(“WScript.Shell”)によりしてWshShellオブジェクトを取得する

コマンドの場合

  • cmd.exeの引数としてコマンド名・プログラム名を指定して実行する。

外部コマンド・外部プログラムの場合

  • コマンド名・プログラム名指定で起動する(拡張子の関連付けにより起動する)
  • cmd.exeの引数としてコマンド名・プログラム名を指定して実行する。

 

WshShellオブジェクトのプロパティ

全部で3個のプロパティがあります。

CurrentDirectory String
Environment WshEnvironment
SpecialFolders WshSpecialFolders(オブジェクトブラウザで確認するとWshCollection?)

WshShellオブジェクトのメソッド

全部で11個のメソッドがあります。

AppActivate
SendKeys
ExpandEnvironmentStrings
LogEvent
Popup
RegDelete
RegRead
RegWrite
Run
Exec
CreateShortCut

 

参考

WshShellオブジェクトの詳細(1)
WshShellオブジェクトの詳細(2)
WshShellオブジェクトの詳細(3)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です