【问题标题】:File Dialog error access VBA文件对话框错误访问 VBA
【发布时间】:2015-02-07 16:58:31
【问题描述】:

我正在尝试弹出文件对话框,以便用户可以选择文件路径以在 VBA 中导出文件,但由于某种原因,它会在以下代码行中引发此错误。

错误:对象“_Application”的方法“FileDialog”失败

代码:longResult = Application.FileDialog(msoFileDialogFolderPicker).Show

所有代码:

If choice = 6 Then

Dim intResult As Long
Dim strPath As String
'the dialog is displayed to the user
longResult = Application.FileDialog(msoFileDialogFolderPicker).Show
'checks if user has cancled the dialog
If intResult <> 0 Then
    'dispaly message box
Call MsgBox(Application.FileDialog(msoFileDialogFolderPicker _
    ).SelectedItems(1), vbInformation, "Selected Folder")
End If

Else

End

End If

我真的不确定如何解决这个问题。我检查了我的语法和所有内容。

【问题讨论】:

    标签: ms-access vba ms-access-2010 openfiledialog


    【解决方案1】:

    我知道此时这是一个老问题,但由于它实际上并没有答案,而我今天需要一个答案,所以我将附上我发现的答案,以防万一else 也需要答案。

    要解决此问题,您需要在 Visual Basic 编辑器 >> 工具 >> 参考中添加对“Microsoft Office [yourversion] 对象库”的引用...

    相关对话框应如下所示:

    【讨论】:

      【解决方案2】:

      我自己尝试做同样的事情并发现了这个问题。我知道它已经有一年多了。

      尝试使用对我有用的实际数字 (4) 而不是 msoFileDialogFolderPicker。当我尝试在即时窗口中打印帮助文件中定义的任何常量时,我​​认为需要安装一些东西才能初始化 msoFileDialog 常量。

      另外,为什么你的代码有一个变量longResult和一个变量intResult?

      【讨论】:

        【解决方案3】:

        在 VB6 中几乎没有整数是整数,因为整数是 VB4 的 16 位类型。 Win32 整数在 VB6/VBA 中称为 Long。

        这是为了方便将 16 位代码移植到 32 位。

        【讨论】:

        • 我改变了它,但它仍然在同一行失败。
        【解决方案4】:

        查看http://msdn.microsoft.com/en-us/library/office/ff865217%28v=office.15%29.aspx,了解有关使用 FileDialogue.Show 方法的正确语法的更多信息。看来您需要在变量前面加上Set

        【讨论】:

        • 我试图定义为FileDialog 对象,但它说它不存在。
        【解决方案5】:

        如果您想要一些很酷的 UI,您可以查看我的 Github 以获取使用 .NET 包装器 dll 的示例数据库。它允许您简单地调用一个函数并使用 file-drag-and-drop 函数打开文件对话框

        Dim FilePaths As String
            FilePaths = gDll.DLL.ShowDialogForFile("No multiple files allowed", False)
        'Will return a JSONArray string.
        'Multiple files can be opend by setting AllowMulti:=true
        

        这里是什么样子的;

        【讨论】:

          猜你喜欢
          • 2017-05-25
          • 1970-01-01
          • 1970-01-01
          • 2011-05-10
          • 1970-01-01
          • 2016-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多