【EXCEL VBA】フォルダ選択ダイアログの初期フォルダを指定したい

フォルダ選択ダイアログの初期フォルダを指定する方法を紹介します。フォルダ選択ダイアログを表示するにはApplication.FileDialogを利用しますが、デフォルトのままでは少し使いづらいです。ユーザにやさしくありません。使いやすいファイル選択ダイアログにするための方法を紹介します。

Application.FileDialog(msoFileDialogFolderPicker).InitialFileNameで解決する

ファイル選択ダイアログを表示するだけならば「Application.FileDialog(msoFileDialogFolderPicker).Show」のみで大丈夫です。初期フォルダを指定したい場合は、InitialFileNameプロパティに初期フォルダを設定します。初期フォルダには、ネットワークフォルダも指定することができます。コツとしては、最後は「\]で終了させることです。

サンプルプログラム(コピペOK)

Sub sample()
    
    With Application.FileDialog(msoFileDialogFolderPicker)
      .InitialFileName = "C:\Windows\"
      .Show
      Debug.Print .SelectedItems(1)
    End With
  
    ' ネットワークパスの設定も可能
    With Application.FileDialog(msoFileDialogFolderPicker)
      .InitialFileName = "\\raspi4\raspi_share\"
      .Show
      Debug.Print .SelectedItems(1)
    End With

End Sub