读取access vba中的excel文件

我正在尝试使用VBA读取访问应用程序中的excel文件。 我有这个代码:

Dim xlApp As Excel.Application Dim xlWrksht As Excel.worksheet 

我从这里得到:

将Excel文件读入Access数据库的最佳方法

但是当我尝试运行它,我得到错误,用户定义types不定义。

我应该添加一个对应用程序的引用吗?

有什么办法可以做到这一点,而无需添加对我的应用程序的引用?

编辑1

添加引用代码后,现在我有这样的代码:

 Dim excelApp As Excel.Application Dim workbook As Excel.workbook Dim Worksheet As Excel.Worksheet Set excelApp = CreateObject("Excel.application") Set workbook = excelApp.Open(InputFileName) Set Worksheet = workbook.Worksheets(1) 

但现在我得到错误在线:

 Set workbook = excelApp.Open(InputFileName) 

因为excelApp没有任何叫Open的方法。 我应该添加任何其他的参考?

如果您不添加对对象的引用,那么Access将不具有与variables一起使用的对象的知识。 对象/types是内置的或引用的,因此它是可用的。

您还应该包含Excel.Workbook,因为层次结构是App – > Workbook – > Worksheet – > Cells。

您需要添加对您的Access项目的引用,否则它不会识别它。

G。

如果您知道Excel工作表的结构,则可以链接到一个工作表中的各个范围,使用查询和/或logging集将它们中的每一个视为表。 该行中的最后一个参数表示第一个工作表中的范围:

 DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, myTableName, ExcelFileName, False, "f3:L10" 

您可以删除此链接作为任何表格:

 CurrentDb.TableDefs.Delete (myTableName)