我正在尝试使用 DoCmd.TransferSpreadsheet 从 Excel 工作簿导入工作表。工作表的名称是 XYZ Priority

我按如下方式调用该方法:

DoCmd.TransferSpreadsheet FileName:=filePath, tablename:="XYZ", _
                          hasfieldnames:=True, range:="[XYZ Priority]!"

我收到此错误消息:
'[XYZ Priority]$' is not a valid name. Make sure that it does not
include invalid characters or punctuation and that it is not too long.

看来空间是导致问题的原因。我尝试了几种不同的方法来识别范围,带和不带感叹号,但都失败了:
"XYZ Priority"
"XYZ_Priority"
"'XYZ Priority'"

如何正确地将工作表传递给 TransferSpreadsheet

最佳答案

仅使用工作表名称后跟 $ 符号。

DoCmd.TransferSpreadsheet FileName:=filePath, TableName:="XYZ", _
    HasFieldNames:=True, Range:="XYZ Priority$"

关于excel - DoCmd.TransferSpreadsheet 无法识别工作表名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17350789/

10-13 07:57