電卓やメモ帳を起動する
 実行可能プログラムを実行する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  最小化表示されるフォーカスを持たないウィンドウ。
            現在アクティブなウィンドウは、アクティブのままです。 

Access2000



戻る


Excel Word Access VBA! モーグ