如何用VBA打开选择文件和选择路径的对话框

2024-12-26 23:26:44
推荐回答(2个)
回答1:

'注意引用 microsoft office 10.0 (或以上) object library
'在文件对话框对中返回选择一个文件夹的路径.
Public Function ChooseFolder() As String
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker)
With dlgOpen
If .Show = -1 Then
ChooseFolder = .SelectedItems(1)End IfEnd With
Set dlgOpen = Nothing
End Function
'--------------------------------------------------------
'在文件对话框对中,选择一个文件。
Public Function ChooseOneFile(Optional TitleStr As String
= 选择你要的文件, Optional TypesDec As String = 所有文件,
Optional Exten As String = *.*) As String
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)
With dlgOpen
.Title = TitleStr
.Filters.Clear '清除所有的文件类型.
.Filters.Add TypesDec, Exten
.AllowMultiSelect = False '不能多选.
If .Show = -1 Then
' .AllowMultiSelect = True '多个文件
' For Each vrtSelectedItem In .SelectedItems
' MsgBox Path name: & vrtSelectedItem
' Next vrtSelectedItem
ChooseOneFile = .SelectedItems(1) '第一个文件End IfEnd With

回答2:

ifilename = Application.GetOpenFilename("Excel 表格 (*.xls), *.xls", , , , False)ifilename就是选中文件的带路径的文件名,用InStrRev(ifilename,
"\"),配以left()函数就可以获得文件所在文件夹。