エクセルVBAで、指定したフォルダを開く方法を紹介しています。ここでは、Shell関数を使ってフォルダを開いています。Shell関数は、他のアプリケーションを起動させる時に使ったりしますが、指定したフォルダを開くこともできます。指定したフォルダを開くとどんなことができるかというと、例えば、ファイルを開きたい時、複数のファイルを選択して開きたい!など、このような時、ファイルが保管されているフォルダを開くと、そこから、開きたいファイルを選んで開くことができます。開きたいファイルが決まっているといいのですが、フォルダから選択した場合は、フォルダを開いた方がいいですね。フォルダを開く方法は簡単なので、ボタンを作ってVBAを登録すると、ボタンをクリックするだけでフォルダが簡単に開けます。
Shell関数
Shell関数を使用して、フォルダを開きます。
Shell関数に、エクスプローラーのパス「C:\Windows\explorer.exe」を指定して、エクスプローラーを起動させます。
OPENFOLDERに開きたいフォルダのパスを指定して、フォルダを開きます。
指定したフォルダを開く
エクセルVBAで、指定したフォルダを開くコードです。
Dドライブにある、「作業用フォルダ」を開いてみましょう。
Sub 特定のフォルダを開く()
Shell “C:\Windows\Explorer.exe ” & “D:\作業用フォルダ”, vbNormalFocus
End Sub
指定したフォルダが無い時がメッセージを出す
エクセルVBAで、特定のフォルダを開く時、指定したフォルダが無かったらメッセージを出すコードです。
「D:\作業用フォルダ\2018契約」を開いてみましょう。
「2018契約」フォルダが無かったら、「フォルダを確認して下さい。」のメッセージがでます。
Sub 特定のフォルダを開くC()
Dim MFld As String
MFld = “D:\作業用フォルダ\2018契約”
If Dir(“D:\作業用フォルダ\2018契約”, vbDirectory) <> “” Then
Shell “C:\Windows\Explorer.exe ” & MFld, vbNormalFocus
Else
MsgBox “フォルダを確認して下さい。”, vbInformation
End If
End Sub
フォルダを開いてファイルを探す
エクセルVBAで、指定したフォルダを開く方法を紹介しましたが、目的にフォルダを開くことによって、フォルダに保管されているファイルを開くことができます。名前もそれぞれ違っている複数のファイルを開きたい、その都度、開きたいファイルが違っているなど、そのような場合、そのファイルが保管されているフォルダを表示させて、ファイルを選択して開く方が簡単です。エクセルVBAで指定したフォルダを開くのは簡単です。ただし、Shell関数に、エクスプローラーのパスを指定してフォルダを開く場合、指定したフォルダがない場合は、マイドキュメントが開いてます。マイドキュメントを表示させたくない場合は、指定したフォルダがなかったらメッセージが出るようにしましょう。
こちらの記事もご覧ください。⇒エクセルVBAでフォルダをフォルダごと移動させる