在Excel VBA中自动化Omniture Report Builder刷新

我有一个Excel 2010工作簿,其中有几个Adobe 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 

将“成功”从布尔值更改为string允许它运行,但它仍然不会刷新任何东西。 我也尝试调用Adobe.ReportBuilder.Bridge工作表函数;

 Application.Run ("AsyncRefreshAll") 

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

 Application.CommandBars("Adobe Report Builder Toolbar").Controls(5).Execute Application.Wait (Now() + TimeValue("00:00:02")) 

任何人都知道更好的方法来做这个工作?

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

我改变了成功的一个string,现在它的作品! 这里是我使用的macros:

 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 

所以我认为这不是一个macros观问题,也许是Excel的问题?

Interesting Posts