実行シート画面
[移動するフォルダ]ボタンをクリックします。
するとフォルダ選択ダイアログが表示されます。
フォルダを選択し[選択]ボタンをクリックします。
これでD5セルに選択したフォルダ名が表示されます。
次回からは、このD5セルがデフォルトのフォルダになります。
Excel VBAで、ボタンをクリックすると、初期フォルダを指定しフォルダ選択ダイアログを表示
Option Explicit
Private Function SelectFolder_FileDialog(inifd As String)
Dim fdl As FileDialog, f As Variant
Set fdl = Application.FileDialog(msoFileDialogFolderPicker)
SelectFolder_FileDialog = ""
fdl.ButtonName = "選択"
fdl.InitialFileName = inifd
If fdl.Show = True Then
SelectFolder_FileDialog = fdl.SelectedItems(1)
End If
End Function
Private Sub CommandButton2_Click()
Dim sDir As String
Dim s As String
sDir = SelectFolder_FileDialog(Range("D5"))
If sDir <> "" Then
If Right(sDir, 1) <> "\" Then
sDir = sDir + "\"
End If
Range("D5") = sDir
End If
End Sub
・SelectFolder_FileDialog(Range("D5"))で、デフォルトフォルダのD5セルを引数にしています。
・FileDialogのInitialFileNameに、D5セルの引数を指定しています。
・フォルダが選択された場合、末尾にパスがあるかどうか調べ、なければ付けています。