Excel 打开对话框,获取文件夹路径
'Window「参照」ダイアログで選択したItem 名を取得
Public Function GetFolderName(ByVal DialogType As MsoFileDialogType) As String
With Application.FileDialog(DialogType)
If .Show = True Then
GetFolderName = .SelectedItems(1)
End If
End With
End Function
Public Sub setInputAndOutput()
Dim inFolder As String: inFolder = GetFolderName(msoFileDialogFolderPicker)
Dim outFolder As String
ActiveSheet.Range("D4") = inFolder
Dim indexOfIN As Integer
indexOfIN = InStr(inFolder, "\In")
If indexOfIN > 0 Then
outFolder = Mid(inFolder, 1, indexOfIN) & "Out"
ActiveSheet.Range("D12") = outFolder
Range("I2:N15").Select
Selection.ClearContents
Range("A1").Select
Else
TOOL_FILE_NAME = ThisWorkbook.Name
TOOL_FILE_SHEET_NAME = "ツール"
Set ERROR_INFO_LIST = New Collection
ERROR_INFO_LIST.Add ("input:inputの選択不正確、" & "inputに対して、In フォルダーを選択ください。")
Call setErrorInfoToExcel
Set ERROR_INFO_LIST = New Collection
Range("A1").Select
End If
End Sub
以上
具体用法
Application.FileDialog(fileDialogType)
fileDialogType MsoFileDialogType 类型,必需。文件对话框的类型。
MsoFileDialogType 可为以下 MsoFileDialogType 常量之一。
・允许用户选择文件。 msoFileDialogFilePicker
・允许用户选择一个文件夹。 msoFileDialogFolderPicker
・允许用户打开文件。 msoFileDialogOpen
・允许用户保存一个文件。 msoFileDialogSaveAs