在VBA中使用transferpreadsheet acimport时错误,其中包含名称中带有井号(#)的工作表

时间:2016-10-12 21:00:38

标签: vba excel-vba excel

我正在尝试使用带有acimport选项的transferspreadsheet函数将数据从excel传输到Access表,但是收到错误。我正在导入的工作表在名称中有明显的符号(这是不可协商的)。我知道我可以通过excel对象打开文件,但不想走那条路。

使用以下代码:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tTest", "C:\Users\tnh3spb\Desktop\test.xlsx", True, "#test#!"

或同样

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tTest", "C:\Users\tnh3spb\Desktop\test.xlsx", True, "" & Chr(35) & "test" & Chr(35) & "!"

给出了同样的错误,其中无法找到工作表,并且井号已经更改为句点(。) VBA Error

1 个答案:

答案 0 :(得分:0)

所以我发现了解决方案。我需要使用STRING数据类型声明,同时用单引号括起选项卡的名称:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tTest", "C:\Users\tnh3spb\Desktop\test.xlsx", True, "'#test#$'"