実行可能プログラムを実行するShell関数を使って、電卓やメモ帳を起動します。
電卓を起動するプロシージャは次のとおりです。
● サンプル1 ●
Sub Sample()
Dim ReturnValue
ReturnValue = Shell("CALC.EXE", 1)
AppActivate ReturnValue
End Sub
AppActivateステートメントは、アプリケーションウィンドウをアクティブにします。
メモ帳を起動するプロシージャは次のとおりです。
● サンプル2 ●
Sub Sample()
Dim ReturnValue
ReturnValue = Shell("NOTEPAD.EXE", 1)
AppActivate ReturnValue
End Sub
Shell関数とSendKeysステートメントを使って、数値の加算を行ってから
電卓アプリケーションを終了する、といった処理も可能です(ヘルプより)。
● サンプル3 ●
Sub Sample()
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' 電卓を実行します。
AppActivate ReturnValue ' 電卓をアクティブにします。
For I = 1 To 20 ' ループ カウンタを設定します。
SendKeys I & "{+}", True ' 電卓にキー コードを転送して、
Next I ' I の値に 1 を加算します。
SendKeys "=", True ' 和を求めます。
SendKeys "%{F4}", True ' Alt+F4キーを転送して電卓を終了します。
End Sub
● 詳細 ●
Shell関数の構文は次のとおりです。
<構文> Shell(pathname[,windowstyle])
pathname:必ず指定します。バリアント型(内部処理形式StringのVariant)の
値を指定します。実行するプログラム名と必要な引数名またはコマンド
ラインのスイッチを指定します。また、フォルダ、またはドライブを
含めて指定できます。
windowstyle:省略可能です。実行するプログラムのウィンドウの形式に対応する
バリアント型(内部処理形式IntegerのVariant)の値を指定します。
引数windowstyleを省略すると、プログラムはフォーカスを持った状態
で最小化され、実行を開始します。
名前付き引数windowstyleには、次の値を指定します。
定数 値 内容
vbHide 0 フォーカスを持ち、非表示にされるウィンドウ
vbNormalFocus 1 フォーカスを持ち、元のサイズと位置に復元されるウィンドウ
vbMinimizedFocus 2 フォーカスを持ち、最小化表示されるウィンドウ
vbMaximizedFocus 3 フォーカスを持ち、最大化表示されるウィンドウ
vbNormalNoFocus 4 最後にウィンドウを閉じたときのサイズと位置に復元される
フォーカスを持たないウィンドウ。現在アクティブな
ウィンドウは、アクティブのままです。
vbMinimizedNoFocus 6 最小化表示されるフォーカスを持たないウィンドウ。
現在アクティブなウィンドウは、アクティブのままです。
|