Vba Access VB将特定查询导出到指定的文件路径

Vba Access VB将特定查询导出到指定的文件路径,vba,ms-access,Vba,Ms Access,因此,我有一个名为“我希望导出的查询”的查询,我希望在单击表单上的按钮时能够将查询导出到Excel 我在Module1中创建了这个函数来调用对话框,并确定要将查询结果保存到哪个文件路径 Public Function ExportToExcel(strQuery As String) On Error GoTo Err_Handler Const MESSAGETEXT = "Overwrite existing file?" Dim OpenDlg As New B

因此,我有一个名为“我希望导出的查询”的查询,我希望在单击表单上的按钮时能够将查询导出到Excel

我在Module1中创建了这个函数来调用对话框,并确定要将查询结果保存到哪个文件路径

Public Function ExportToExcel(strQuery As String)

    On Error GoTo Err_Handler

    Const MESSAGETEXT = "Overwrite existing file?"
    Dim OpenDlg As New BrowseForFileClass
    Dim strPath As String

    OpenDlg.DialogTitle = "Enter or Select File"
    strPath = OpenDlg.GetFileSpec
    Set OpenDlg = Nothing

    If strPath <> "" Then
        If Dir(strPath) <> "" Then
            If MsgBox(MESSAGETEXT, vbQuestion + vbYesNo, "Confirm") = vbNo Then
                Exit Function
            Else
                Kill strPath
            End If
        End If
    Else
        Exit Function
    End If

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, strQuery, strPath

Exit_Here:
    Exit Sub

Err_Handler:
    MsgBox Err.Description
    Resume Exit_Here

End Function

它总是给我语法错误。我真的不明白,因为我专门调用函数,将查询名称作为其参数传递,有什么想法吗?

因为您使用的关键字不是严格要求的,所以需要将参数括在括号中,即:

Call Module1.ExportToExcel("the query I wish to export")
对于文件选择/规范,我建议使用对象,这将需要对Microsoft Office.0对象库的引用

为了提供如何实现的示例,下面是一个快速函数,演示如何提示用户指定/选择Excel文件:

Function GetExcelFile(msg As String) As String
    Dim dia As FileDialog
    Set dia = Application.FileDialog(msoFileDialogFilePicker)
    With dia
        .AllowMultiSelect = False
        .Title = msg
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xls; *.xlsx"
        If .show Then
            GetExcelFile = .SelectedItems.Item(1)
        End If
    End With
End Function
使用所需的对话框标题调用上述对话框,例如:

GetExcelFile "Enter or Select File"

如果用户在提示时按下Cancel,上面的内容将返回一个空字符串。

很好,这个语法正在工作,但是现在,模块函数说找不到project或Library是不正确的?我刚才就这么做了,很明显,Access VB不识别的是'Dim OpenDlg As New BrowseForFileClass',你知道我应该加上哪个参考资料吗?
GetExcelFile "Enter or Select File"