Excel実務効率化する際に、「対象ファイル」の選択に次いで多いのが、「フォルダ選択」処理。
その記述サンプルをご紹介します。
みなさん、こんにちは。セルネッツ竹本です。
今回は、「フォルダ選択」をテーマに、解説をしたいと思います。
◆インターフェースと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実務の効率化において、ご参考お役立てになれば幸いです。