機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > VBA > VBAのステートメント

AppActivateステートメント



AppActivateステートメント

構文
AppActivate title[,wait]
引数titleには、アクティブにするアプリケーションのタイトルを指定します。
引数waitは省略可能です。TrueまたはFalseを指定します。

解説
AppActivateステートメントは、指定したアプリケーションをアクティブにします。
引数titleには、アクティブにしたいアプリケーションのタイトルバーに表示されるタイトルを指定します。
AppActivateステートメントは、引数titleで指定された文字列を同一のタイトルを持つウィンドウを探してフォーカスを移します。同一のタイトルが複数存在する場合は、その中の一つが任意に選択されます。同一のタイトルが存在しない場合は、引数titleで指定された文字列で始まるタイトルを探します。引数titleで指定された文字列で始まるタイトルが存在しない場合は、実行時エラーが発生します。
引数titleには、Shell関数の返り値「タスクID」を指定することもできます。

引数waitは、引数titleで指定したアプリケーションをアクティブにする前に、呼び出し側のアプリケーションにフォーカスを移すかどうかを指定します。
引数waitにTrueを指定すると、呼び出し側のアプリケーションがフォーカスを持つまで待ちます。Falseを指定すると、呼び出し側のアプリケーションがフォーカスを持っていなくても、指定したアプリケーションをアクティブにします。

AppActivateステートメントは指定したアプリケーションにフォーカスを移動するだけで、指定するアプリケーションのウィンドウの状態は変更しません。たとえば、指定したアプリケーションが最小化されている場合、AppActivateステートメントでフォーカスを移動しても、そのアプリケーションは最小化のままです。

サンプル
次の例は、Microsft Wordを起動してアクティブにします。

Sub Sample()
    Dim rc As Long
    rc = Shell("C:\Program Files\Microsoft Office\Office\WinWord.exe", 1)
    MsgBox "Microsft Wordをアクティブにします"
    AppActivate rc
End Sub



このエントリーをはてなブックマークに追加