【VBA】Shell関数を使用してフォルダを開く

VBA
この記事は約2分で読めます。

VBAではShell関数を使用することで、外部のプログラムやコマンドを実行することができます。
Shell関数からエクスプローラーを呼び出してフォルダを開くことができます。

Shell関数でフォルダを開く

Shell関数を利用してフォルダを開くコードです。

TestOpenFolderを実行すると、WindowsのエクスプローラーでCドライブを開きます。

Shell関数の第1引数には、実行するプログラムやコマンドを指定します。
第1引数に“C:\Windows\Explorer.exe “開きたいフォルダのパスを結合して渡しています。

第2引数には、プログラムを実行するときのウィンドウの状態を指定します。
vbNormalFocusを指定すると、通常の状態で起動します。

OpenFolder関数に渡す文字列を変えることによって、開くフォルダを変えることができます。

サブフォルダも含めて開く

サブフォルダを含めてエクスプローラーでフォルダを開くにはFileSystemObjectを利用します。
FileSystemObjectを利用するにはMicrosoft Scripting Runtimeに参照設定を行う必要があります。

testフォルダ内にフォルダを全部で6つ用意しました。
test1とtest2はそれぞれ、サブフォルダを2つずつ持ちます。
この6つのフォルダをShell関数を利用して、すべて開いてみます。

大量のフォルダをShell関数で開くと、画面がエクスプローラーで埋め尽くされてしまうので
事前にフォルダ数を確認してください。

 

サブフォルダを含めて、すべてのフォルダをエクスプローラーで開くコードです。

TestOpenSubFoldersを実行するとサブフォルダを含めて、エクスプローラーでフォルダを開きます。

コメント

  1. ハナウタ より:

    ありがとうございました。わかりやすい解説助かりました。