【VBA入門】ExcelVBA定番処理「フォルダ選択」複数ファイルの一括処理で必要不可欠

「対象ファイル」の選択に次いで多いのが、「フォルダ選択」処理。その記述サンプルをご紹介します。


Excel実務効率化する際に、「対象ファイル」の選択に次いで多いのが、「フォルダ選択」処理。

その記述サンプルをご紹介します。

みなさん、こんにちは。セルネッツ竹本です。

今回は、「フォルダ選択」をテーマに、解説をしたいと思います。

◆インターフェースとVBAソース記述のサンプル

次のフォルダを指定するには、

◆インターフェースとVBAソース記述のサンプル



↓(A)Call する側の記述

Call M_フォルダ指定(P_指定フォルダ, "入力フォルダ [例:01_入力フォルダ] を指定して下さい。")


↓(B)Callされる側の記述

Public P_指定フォルダ As String
Public P_表示Title As String

‘++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub M_フォルダ指定(P_指定フォルダ, P_表示Title)
‘++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

On Error GoTo Err100

‘★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
‘★ FileDialogオブジェクトによる取得
‘★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

Dim S_FileDialog As FileDialog
Dim S_指定値 As Variant

P_指定フォルダ = ""

ChDir ThisWorkbook.Path

Set S_FileDialog = Application.FileDialog(msoFileDialogFolderPicker)

With S_FileDialog

    .Title = P_表示Title
    .InitialView = msoFileDialogViewDetails
    .InitialFileName = ThisWorkbook.Path & "\"

    If .Show = -1 Then

        For Each S_指定値 In .SelectedItems

            P_指定フォルダ = S_指定値

        Next S_指定値

    Else

    End If

End With

Set S_FileDialog = Nothing

Exit Sub

‘//////////////////////////////////////////////////////////////
‘/ 指定なし
‘//////////////////////////////////////////////////////////////

‘★★★★★ ERROR
Err100:

If Err.Number = 0 Then

    P_指定フォルダ = ThisWorkbook.Path

    Exit Sub

End If

End Sub

【Point】もしもフォルダ指定をしなかった場合、実行時エラー発生のため「エラートラップ

取得変数:P_指定フォルダ

取得結果:C:\Users\cn101\24年06月分の受注データ

今回のテーマは、「フォルダ選択」処理」について、解説を行いました。

ユーザーが必ずしも、「フォルダ選択を行わないケース」も想定範囲としています。

本記事が、Excel実務の効率化において、ご参考お役立てになれば幸いです。


全国対応!お気軽にお問い合わせください