在 Excel VBA 中自动刷新 Omniture Report Builder

Automating Omniture Report Builder Refresh in Excel VBA

我有一个 excel 2010 工作簿,其中包含多个 Adob​​e Omniture Report Builder (5.0.50.0) 查询。我在 VBA 中通过此工作簿的电子邮件编写更新和分发脚本,但无法刷新 Report Builder 部分。

Adobe 提供了以下无效的代码;

Sub RefreshAllReportBuilderRequests()

 Dim addIn As COMAddIn
 Dim automationObject As Object
 Dim success As Boolean
 Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect")
 Set automationObject = addIn.Object
 success = automationObject.RefreshAllRequests(ActiveWorkbook)

End Sub

将 'Success' 从布尔值更改为字符串允许它 运行 但它仍然不会刷新任何内容。我还尝试将 Adobe.ReportBuilder.Bridge 工作表函数调用为;

Application.Run ("AsyncRefreshAll")

同样无效。我能够刷新报告的唯一方法是调用报告生成器加载项的功能区刷新按钮的执行方法,并猜测 运行.

需要多长时间
Application.CommandBars("Adobe Report Builder Toolbar").Controls(5).Execute

Application.Wait (Now() + TimeValue("00:00:02"))

有人知道完成这项工作的更好方法吗?

我上周遇到了同样的问题,但现在已经解决了。 你是对的,成功不是布尔值,它是一个字符串。我将此事通知了 Omniture,他们更改了在线文档(但最后两个代码中仍然存在相同的问题:https://helpx.adobe.com/analytics/kb/visual-basic-macros-reportbuilder.html)。

我将 dim success 更改为字符串,现在可以使用了!这是我使用的宏:

Sub RBRefresh()
    Dim addIn As COMAddIn
    Dim automationObject As Object
    Dim success As String
    Set addIn = Application.COMAddIns("ReportBuilderAddIn.Connect")
    Set automationObject = addIn.Object
    success = automationObject.RefreshAllRequests(ActiveWorkbook)
End Sub

所以我认为这不再是宏观问题,也许是 Excel 问题?