导入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)使用通配符在条件格式中查找包含某些文本的单元格