导入excel以使用通配符访问

Posted

技术标签:

【中文标题】导入excel以使用通配符访问【英文标题】:Importing excel to access with wildcards 【发布时间】:2016-10-24 08:38:48 【问题描述】:

我正在尝试将 Excel 文档导入到 access 中尚不存在的表中

我正在使用以下代码:

' Import Hourly stats
        DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=10, _
        tablename:="Hourly", FileName:="C:\Filename\folder\stats* _
        Hasfieldnames:=True, Range:="AgentActivity!"

我已将通配符 * 放在文件名的末尾,因为文件名的后半部分每隔一小时左右会发生变化。

当我运行代码时出现此错误:

Microsoft access 数据库引擎找不到对象。确保对象存在并且正确拼写其名称和路径名

感谢任何帮助。

【问题讨论】:

【参考方案1】:

看起来您只是缺少文件名末尾的结束引号。

' Import Hourly stats
    DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=10, _
    tablename:="Hourly", FileName:="C:\Filename\folder\stats*", _
    Hasfieldnames:=True, Range:="AgentActivity!"

【讨论】:

感谢您的回复 - 我已经添加了结束语,但它抛出了运行时错误 3011 在这种情况下,可能只是将通配符用于 TransferSpreadsheet 的问题 - 我认为您不能以您尝试使用此功能的方式使用它们。您可能需要在代码中设置一个变量,以便在该时间点找到特定的文件名 - 这取决于它的命名方式(它只是一个日期戳吗?)。然后将其附加到函数的文件名部分,为FileName:="C:\Filename\folder\stats" & variableName, @finjo 打算提出同样的建议。但是在 variableName 中,您会使用 DIR 函数重新运行文件名吗? variableName = dir("C:\Filename\folder\stats*")

以上是关于导入excel以使用通配符访问的主要内容,如果未能解决你的问题,请参考以下文章

Google表格(Excel)使用通配符在条件格式中查找包含某些文本的单元格

使用通配符导入 java 包的含义 [重复]

使用Azure功能启用CORS通配符子域

使用 Excel VBA 检查字符串是不是在数组中或不包括通配符

Excel 列表对象中的 VBA 通配符

应该避免通配符导入吗?