读取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)