VBAでフォルダパスを取得する

VBAでApplicationオブジェクトのFileDialogを使用することで、フォルダの選択ダイアログボックスを取得することができます。

https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/application-filedialog-property-excel

Application.FileDialogでフォルダのパスを取得するコードは以下になります。

Function GetFolderPath() As String
'###################################################################################
'フォルダ選択ダイアログを開き、選択したフォルダの絶対パスの末尾に
'\を付加してリターンする
'-----------------------------------------------------------------------------------
'戻り値:選択したフォルダの絶対パスの末尾に\を付加したもの
'###################################################################################

  With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show Then
      GetFolderPath = .SelectedItems(1) & "\"
    End If
  End With

End Function

GetFolderPath関数に対してテストを行ってみます。

Sub TestGetFolderPath()
  
  Dim folderPath As String
  folderPath = GetFolderPath
  MsgBox folderPath

End Sub

フォルダ選択画面が表示されるので、C:\GetFolderPathの中にあるfolderを選択してみます。

選択したフォルダのパスがメッセージボックスで表示されます。

Licensed under CC BY-NC-SA 4.0
最終更新 2018年7月5日 11:06
Hugo で構築されています。
テーマ StackJimmy によって設計されています。