You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Excel查询的上次刷新日期时间,VBA调用代码报错如何解决

报错原因

你调用的Query - Item_Groups是Power Query(Excel「获取和转换」功能)生成的查询连接,不存在ODBCConnection属性,强行调用就会触发「应用程序定义或对象定义错误」。

解决方案

1. Power Query连接适配代码

直接替换为OLEDBConnection即可读取刷新时间:

' 写入A1单元格
Cells(1, 1) = ActiveWorkbook.Connections("Query - Item_Groups").OLEDBConnection.RefreshDate

' 存储为VBA变量
Dim lastRefreshDt As Date
lastRefreshDt = ActiveWorkbook.Connections("Query - Item_Groups").OLEDBConnection.RefreshDate

2. 传统ODBC连接排查方案

如果你确认使用的是传统ODBC连接而非Power Query查询,按以下步骤排查:

  • 核对连接名称完全匹配「数据」选项卡→「连接」列表中的名称,大小写、空格、特殊符号不能有出入
  • 确认该连接已经完成过至少一次成功刷新,未执行过刷新的连接没有RefreshDate属性
  • 可运行以下代码输出所有连接名称,确认你要调用的连接拼写正确:
Sub ListAllConnections()
    Dim conn As WorkbookConnection
    For Each conn In ActiveWorkbook.Connections
        Debug.Print conn.Name
    Next
End Sub

注意事项

如果是在代码中执行刷新后立刻读取刷新时间,需要在刷新语句后添加DoEvents等待刷新任务完成,避免读取到旧的时间值


内容的提问来源于stack exchange,提问作者Nasser Ramsis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:15:01