使用FileDialog选择文件名

时间:2016-02-25 11:49:37

标签: vba ms-access

我正在尝试使用MS Access VBA中的文件对话框获取完整路径和文件名。

我要做的是通过调用此函数打开按钮单击上的文件对话框。此函数应返回从filedialog中选择的完整路径和文件名。

我评论了循环部分,因为我只想选择单个文件。

选择文件

后,此函数返回错误Error: 0

到目前为止,这是我的代码。

任何人都可以弄清楚出了什么问题?

由于

Public Function SelectTheFile() As String

On Error GoTo SelectTheFile_ErrorHandler

        Dim fDialog As Office.FileDialog
        Dim varFile As Variant

        Set fDialog = Application.FileDialog(msoFileDialogFilePicker)

        With fDialog

            .AllowMultiSelect = False
            .Title = "Please select one file"

            If .Show = True Then
                'For Each varFile In .SelectedItems
                   'SelectTheFile = varFile
                   'Debug.Print SelectTheFile
                'Next
                SelectTheFile = .SelectedItems(1)
                Debug.Print SelectTheFile
            Else
                Debug.Print "Cancel"
            End If
        End With

SelectTheFile_ErrorHandler:
    Set fd = Nothing
    MsgBox "Error " & Err & ": " & Error(Err)

End Function

2 个答案:

答案 0 :(得分:3)

无论文件对话框结果如何,您的代码始终会到达SELECT message FROM chat WHERE user1 IN ('"+user1+"','"+user2+"') AND user2 IN ('"+user1+"','"+user2+"')ORDER BY created_at DESC LIMIT 1 部分

您必须在该部分之前退出该功能

SelectTheFile_ErrorHandler:

答案 1 :(得分:1)

尝试使用它:

Application.GetOpenFilename

这适用于我并保存完整的文件路径而不实际打开文件。更简单,除非我错过了你想要做的事情。在文档中阅读更多内容:https://msdn.microsoft.com/en-us/library/office/ff834966.aspx