MW211 EXIT

devlog
ExcelVBA/別ファイルを開く(1)紐づくアプリで開く
2018年08月25日
ファイルがアプリケーションに紐づいているのであれば、
当該ファイルを以下のように、WSHから.Runしてあげればよい
┌──────────────────────────────────────┐
│Dim objWSH As Object                                                        │
│Set objWSH = CreateObject("Wscript.Shell")                                  │
│objWSH.Run Chr(34) & "C:\説明書.pdf" & Chr(34)                              │
└──────────────────────────────────────┘
パスはスペースが混じるといけないので、Chr(34)で囲っておいた方がよい。

ちなみにシェルから.ShellExecuteでも同様のことができる。
┌──────────────────────────────────────┐
│Dim objShell As Object                                                      │
│Set objShell = CreateObject("Shell.Application")                            │
│objShell.ShellExecute Chr(34) & "C:\説明書.pdf" & Chr(34)                   │
└──────────────────────────────────────┘

また、順番に複数のファイルを開くようにするには、第三引数に「True」を設定する。
これで、一つ目のファイルを閉じた時に二つ目のファイルが開くようにできる。
┌──────────────────────────────────────┐
│Dim objWSH As Object                                                        │
│Set objWSH = CreateObject("Wscript.Shell")                                  │
│objWSH.Run Chr(34) & "C:\説明書1.pdf" & Chr(34), 0, True                    │
│objWSH.Run Chr(34) & "C:\説明書2.pdf" & Chr(34)                             │
└──────────────────────────────────────┘
この指定がない場合には、最初の瞬間に両方のファイルがほぼ同時に開くことになる。
分類:ExcelVBA