我正在尝试使用VBA读取访问应用程序中的excel文件。我有这段代码:
Dim xlApp As Excel.Application
Dim xlWrksht As Excel.worksheet
我从这里得到的:
Best way to read an Excel file into an Access database
但是当我尝试运行它时,我收到用户定义类型未定义的错误。
我应该添加对应用程序的引用吗?
如果不添加对我的应用程序的引用,有没有办法可以做到?
添加对代码的引用后,现在我有了这段代码:
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的方法。我应该添加任何其他参考吗?
答案 0 :(得分:1)
如果您知道Excel工作表的结构,则可以使用查询和/或Recordsets链接到一个工作表中的各种范围,将每个范围视为一个表。此行中的最后一个参数表示第一个工作表中的范围:
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, myTableName, ExcelFileName, False, "f3:L10"
您可以删除此链接:
CurrentDb.TableDefs.Delete (myTableName)
答案 1 :(得分:0)
如果不添加对象的引用,则Access将不知道要与变量一起使用的对象。对象/类型是内置的或引用的,因此可以使用。
您还应该包含Excel.Workbook,因为层次结构是App - >工作簿 - >工作表 - >细胞
答案 2 :(得分:0)
您需要添加对Access项目的引用,否则它将无法识别它。
-G。