用户定义types未定义

我继续得到一个用户定义的错误。 此代码在将数据导出到访问时非常有用。 由于用户定义的错误,它不会启动。

谢谢

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 

你应该告诉我们错误是指哪一行,但最有可能的是第二行。

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

但是OpenCurrentDatabase是一个Access方法。 要使用此,然后调用TransferSpreadsheet,您需要使用Access自动化。 这包括:

  • 具有对访问对象库的引用
  • 创build一个新的Access应用程序实例,并有一个引用这个新实例的对象variables

然后你可以使用OpenCurrentDatabaseTransferSpreadsheet