ユーザーにディレクトリやファイルを選択してもらうためのユーザー定義関数です.
目次 ディレクトリ選択 ファイル選択
ディレクトリ選択
ユーザーにディレクトリを選択してもらう際,macとWindowsでは書き方が異なります.
フォルダのパスdirPath
はOSごとに次のようにして選択させることができます.
Function ChooseDir() Dim dirPath As String If Application.OperatingSystem Like "*Mac*" Then dirPath = MacScript("try" & vbCrLf & "return posix path of (choose folder with prompt ""ディレクトリを選択してください."") as string" & vbCrLf & "end try" ) Else With Application.FileDialog(msoFileDialogFolderPicker) If .Show = 0 Then MsgBox "ファイル選択がキャンセルされました.実行中のマクロを終了します." End End If dirPath = .SelectedItems(1 ) & "¥" End With End If ChooseDir = dirPath End Function
macOS向けに分岐させた部分ではAppleScriptを使用しています.
ファイル選択
ファイル選択はOSに依存しません.
次はファイルを選択するダイアログを表示します.
返るのはフルパスです.
Function ChooseFile() Dim filePath As String filePath = Application.GetOpenFilename If filePath = "False" Then MsgBox "ファイル選択がキャンセルされました.実行中のマクロを終了します." End End If ChooseFile = filePath End Function