Excel VBA:外部アプリケーションの起動方法|Shell関数の使い方
Excel VBAでShell関数を使い、他のアプリケーションを起動する方法を掲載しています。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
Excelのシートにコマンドボタンを配置し、ボタンをクリックするとメモ帳やペイントなどのアプリを起動させることができれば便利です。
アプリを起動するにはShell関数を使用します。
Shell関数の構文:
Shell(pathname[,windowstyle])
- pathname:実行するアプリ名をドライブとフォルダ名を付けたパスで指定します。
- windowstyle:(省略可能)実行時のウィンドウ形式を指定します。
windowstyleで使用する定数の一覧表
定数 |
内容 |
vbHide |
フォーカスがあり、非表示のウィンドウ |
vbNormalFocus |
フォーカスがあり、元のサイズと位置に復元するウィンドウ |
vbMinimizedFocus |
フォーカスがあり、最小化したウィンドウ |
vbMaximizedFocus |
フォーカスがあり、最大化したウィンドウ |
vbNormalNoFocus |
フォーカスがなく、元のサイズと位置に復元するウィンドウ
現在のアクティブウィンドウは、アクティブのままです |
vbMinimizedNoFocus |
フォーカスがなく、最小化したウィンドウ
現在のアクティブウィンドウは、アクティブのままです |
同じShell関数を使用する「他のソフト(メモ帳)を制御する」も掲載していますので、参考にしてください。
外部アプリケーションを起動するVBA
Excel VBA シートコード
作成したExDoShellプロシージャの説明
- 「On Error GoTo」でエラーが発生した場合、指定したラベル位置にジャンプします。
- 電卓(CALC.EXE)を起動します。
- Excel(EXCEL.EXE)を起動します。
- Outlook Express(msimn.exe)を起動します。
- Range指定したセルに入力されているアプリを起動します。
- エラーラベル:「実行できませんでした。」とエラー内容を表示します。
Option Explicit
Private Sub ExDoShell()
Dim ret As Long
On Error GoTo ErrEnd
'電卓の起動
ret = Shell("C:\WINDOWS\SYSTEM32\CALC.EXE", vbNormalFocus)
'Excelの起動
ret = Shell("C:\Program Files\Microsoft Office\Office10\EXCEL.EXE", vbNormalFocus)
'Outlook Expressを最大化ウィンドウで起動
ret = Shell("C:\Program Files\Outlook Express\msimn.exe", vbMaximizedFocus)
'セルに入力されているソフトの起動
ret = Shell(Range("B8"), vbNormalFocus)
Exit Sub
ErrEnd:
MsgBox "実行できませんでした。" & vbCrLf & "エラー内容:" & Err.Description
End Sub
Private Sub CommandButton1_Click()
ExDoShell
End Sub
Excel VBAの実行結果
電卓が起動した画面です。
Homeに戻る >
Excel 数値・文字列・検索・印刷のTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved