ExcelVBA Windowsのエクスプローラーで特定フォルダを開き確認する方法

 

ExcelVBA Windowsのエクスプローラーで特定のフォルダを開き、ユーザーがそのフォルダの内容を確認できるようにします。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA 特定フォルダを開く利用

以下のようなシーンで利用されます。

1.ユーザーに指定したフォルダを表示させたい。

2.ファイルの保存先や出力先のフォルダを簡単に確認したい。

3.自動処理後に生成されたファイルが保存されたフォルダをすぐに開きたい。

使い方

Shell メソッドを使い、指定したフォルダパスを引数に渡すことでエクスプローラーを開きます。

ポイント

1.フォルダの存在確認
指定したフォルダが存在しないとエラーになるため、事前に確認する必要があります。

2.フォルダパスの形式
パスが正確でなければ、エクスプローラーが開けません。

3.ネットワークドライブ
ネットワーク上のフォルダを開く場合、適切にマッピングされている必要があります。

 

Excel VBA 特定フォルダを開くサンプルコード

基本的な文法や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エキスパート」をご確認ください。