我想使用文件打开对话框来提取文件路径(或者如果更容易打开文件)
是否可以设置对话框,以便在双击文件名时不会打开文件? 我想要避免的是,如果用户双击文件名但该文件已经打开,则会显示另一个警告。
或者,或者,如果我进行设置以便在用户单击对话框的OPEN
按钮或双击文件名时打开该文件的只读版本,它将起作用 - 这是一个更方便吗?在这种情况下,我是否使用对话框的Execute
方法?
Private Function FindFilePath() As Boolean
Dim selectedMultiFiles As Boolean
Dim fd As FileDialog
Dim objfl As Variant
Set fd = Excel.Application.FileDialog(msoFileDialogOpen)
Dim myTxt As String
With fd
.Filters.Add "Excel Files", "*.xlsx;*.xlsm", 1
.AllowMultiSelect = False
.Title = "Choose the file with the target table"
.InitialView = msoFileDialogViewDetails
If .Show = -1 Then
myTxt = .SelectedItems.Item(1)
fFileName = myTxt
FindFilePath = True
Else
myTxt = "Nothing was selected"
FindFilePath = False
End If
On Error Resume Next End With
txBoxFilePath.Text = myTxt
End Function
答案 0 :(得分:1)
我不确定这会弄乱你当前的项目多少,但你知道吗
Dim getPath As Variant
getPath = Application.GetOpenFilename
Debug.Print getPath
其中getPath
将字面上存储用户选择的任何文件的路径。
除非您实际Set getPath = App..
您可以在代码中打开文件以后,对已经打开的文件执行检查,或者像您提到的那样以只读方式打开它。