Windowsのメモ帳を起動する
Shell関数でWindowsのメモ帳を開き、返されたタスクIDを確認します。
実行前に確認
- Shellはアプリの終了を待ちません。返されたIDだけで起動先の処理完了を判定しないでください。
- 知らない実行ファイル、ダウンロードしたファイル、セルから受け取った未確認のコマンドへ置き換えないでください。
- 公式仕様とコードを照合した例です。Excel実機での実行は未検証です。業務ブックではなくコピーで試してください。
1サンプルコード
Option Explicit
Sub PracticeAdvanced8012()
Dim exePath As String, taskId As Double
exePath = Environ$("SystemRoot") & "\System32\notepad.exe"
If Len(Environ$("SystemRoot")) = 0 Or Dir$(exePath) = "" Then
MsgBox "メモ帳が見つかりません。": Exit Sub
End If
On Error GoTo Failed
taskId = Shell("""" & exePath & """", vbNormalFocus)
Debug.Print "起動時のタスクID: "; taskId
Exit Sub
Failed:
MsgBox "起動できません: " & Err.Description
End Sub図で見る操作の流れ
イメージ図準備、実行する操作、確認する結果の順で示しています。
準備
Windows版向けです。既存のメモ帳で編集中の内容があれば先に保存します。
操作
Shell関数でWindowsのメモ帳を開き、返されたタスクIDを確認します。
結果
メモ帳が開きます。練習が終わったらメモ帳を手動で閉じます。
Shellはアプリの終了を待ちません。返されたIDだけで起動先の処理完了を判定しないでください。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[標準モジュール]へ、この例だけを貼り付けます。
- 2
Windows版向けです。既存のメモ帳で編集中の内容があれば先に保存します。
- 3
PracticeAdvanced8012を実行します。タスクIDはVBEのCtrl+Gで確認できます。
- 4
メモ帳が開きます。練習が終わったらメモ帳を手動で閉じます。