我必须导入一个包含8个工作表的excel文件,但我只需要导入第二个工作表。工作表名称每次都不一样,因为我总是需要导入Sheet2
如果我提供工作表的名称然后它已成功导入但我不想通过特定名称导入,我想根据工作表编号2导入
DoCmd.TransferSpreadsheet acImport, 8, "P_TEMP", strFName, False, "Sheet2!A2:N"
P_TEMP是表名,strFName是文件名
答案 0 :(得分:2)
不确定是否有更优雅的解决方案,Access不是我的知识领域,但您需要从其索引中确定工作表的名称,并且如果您实例化Excel以便您可以使用它的方法/属性来获取工作表的名称,那么至少这是可能的:
Dim shtName as String
With CreateObject("Excel.Application")
shtName = .Workbooks.Open(strFname).Sheets(2).Name
.Quit
End With
DoCmd.TransferSpreadsheet acImport, 8, "P_TEMP", strFName, False, shtName & "!A2:N"