【问题标题】:Automating Omniture Report Builder Refresh in Excel VBA在 Excel VBA 中自动刷新 Omniture Report Builder
【发布时间】:2015-02-19 01:48:59
【问题描述】:

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

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

将“成功”从布尔值更改为字符串允许它运行,但它仍然不会刷新任何内容。我还尝试将 Adob​​e.ReportBuilder.Bridge 工作表函数称为;

Application.Run ("AsyncRefreshAll")

再次没有效果。我能够刷新报表的唯一方法是调用功能区的报表生成器加载项刷新按钮的执行方法并猜测运行需要多长时间。

Application.CommandBars("Adobe Report Builder Toolbar").Controls(5).Execute

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

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

【问题讨论】:

    标签: vba excel adobe-analytics


    【解决方案1】:

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

    我将暗淡的成功更改为字符串,现在它可以工作了!这是我使用的宏:

    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 问题?

    【讨论】:

    • 非常感谢。实际上,我今天早上只是自己弄清楚了这一点,然后想再回来看看。我开始担心这太模糊了。希望其他人在遇到问题时会发现这一点。
    猜你喜欢
    • 2021-07-09
    • 2020-12-28
    • 1970-01-01
    • 2012-02-14
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多