ExcelVBA Windowsのエクスプローラーで特定のフォルダを開き、ユーザーがそのフォルダの内容を確認できるようにします。使い方や注意点など、サンプルコードをもとに具体的に解説します。
日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用されます。
1.ユーザーに指定したフォルダを表示させたい。
2.ファイルの保存先や出力先のフォルダを簡単に確認したい。
3.自動処理後に生成されたファイルが保存されたフォルダをすぐに開きたい。
Shell メソッドを使い、指定したフォルダパスを引数に渡すことでエクスプローラーを開きます。
1.フォルダの存在確認
指定したフォルダが存在しないとエラーになるため、事前に確認する必要があります。
2.フォルダパスの形式
パスが正確でなければ、エクスプローラーが開けません。
3.ネットワークドライブ
ネットワーク上のフォルダを開く場合、適切にマッピングされている必要があります。
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
Option Explicit
Sub OpenFolder()
Dim folderPath As String
folderPath = "C:\Users\User\Desktop\sourceFile" ' 開きたいフォルダのパスを指定
' フォルダが存在するか確認
If Dir(folderPath, vbDirectory) <> "" Then
Shell "explorer.exe " & folderPath, vbNormalFocus ' フォルダを開く
Else
MsgBox "フォルダが見つかりません: " & folderPath, vbExclamation
End If
End Sub
1. folderPath で開きたいフォルダのパスを指定します。
2. Dir 関数でフォルダが存在するか確認します。
3. Shell "explorer.exe" を使ってエクスプローラーでフォルダを開きます。
ユーザーにフォルダを選択させて、そのフォルダを開く
Option Explicit
Sub OpenSelectedFolder()
Dim folderPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "フォルダを選択してください"
If .Show = -1 Then ' フォルダが選択された場合
folderPath = .SelectedItems(1)
Shell "explorer.exe " & folderPath, vbNormalFocus
Else
MsgBox "フォルダが選択されませんでした", vbExclamation
End If
End With
End Sub
一部のセキュリティポリシーでは Shell が使用できない場合があります。
フォルダの作成や削除などを組み合わせることで、さらに自動化の幅を広げることが可能です。処理完了後にフォルダを開くことで、ユーザーの利便性を向上できます。
これを活用すれば、フォルダ操作がスムーズになり、業務の効率化に役立ちます。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
1. ●●● で開きたいフォルダのパスを指定します。
2. ●●● 関数でフォルダが存在するか確認します。
3. ●●● を使ってエクスプローラーでフォルダを開きます。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。