拡張子に応じたアプリでファイルを開く (WSH.Run)

VBAから他アプリのファイルを開く際に、アプリを限定しない方法を紹介します。ユーザーがエクスプローラーでそのファイルをダブルクリックするのと同じ動作になります。

これには、下記トピックでも取り上げたWshShellオブジェクトのRunメソッドを使います。(目的が異なるので別回としました) 引数指定の詳細については下記トピックを参照してください。

Sub Wsh_Run2()

  Dim objWSH As Object
  Set objWSH = CreateObject("Wscript.Shell")

  objWSH.Run "D:\test\サンプル.txt"

  Set objWSH = Nothing

End Sub

WshShell.Run で、アプリを指定しないでファイルパスを指定するだけです。

この例では、テキストファイルを開いています。ユーザーが普段使用しているテキストエディターが起動されます。マクロの処理結果をテキストに書き出し、ユーザーに確認を促すような場面で使います。

Webページを開くこともできる

ファイルパスの代わりにURLを指定すると、標準ブラウザーを起動してWebページを開くこともできます。

objWSH.Run "https://koukimra.com/"
タイトルとURLをコピーしました