用户定义类型未定义

时间:2014-05-23 23:59:43

标签: excel excel-vba vba

我继续收到用户定义的错误。此代码在导出数据时非常有用。由于用户定义的错误,它才刚刚开始。

谢谢

    Public Sub AccImport()

    Dim acc As DAO.Database
    acc.OpenCurrentDatabase "C:\Users\public\Database1.accdb"
    acc.DoCmd.TransferSpreadsheet _
        acImport, _
        acSpreadsheetTypeExcel12Xml, _
        "tblExcelImport", _
        Application.ActiveWorkbook.FullName, _
        True, _
        "Folio_Data_original$A1:B10"
    acc.CloseCurrentDatabase
    acc.Quit
    Set acc = Nothing
    End Sub

1 个答案:

答案 0 :(得分:2)

你应该告诉我们错误引用哪一行,但很可能是第二行。

您需要添加对DAO库的引用。转到工具,引用并查找并勾选Microsoft DAO 3.6对象库,以便您可以在代码中使用DAO.

但是OpenCurrentDatabase是一种Access方法。要使用它,然后调用TransferSpreadsheet,您需要使用Access Automation。这包括:

  • 引用访问对象库
  • 创建Access应用程序的新实例,并拥有 引用此新实例的对象变量

然后您可以使用OpenCurrentDatabaseTransferSpreadsheet