在Smart View for Oracle中创buildVBA刷新macros

有谁知道我需要使用的VBA代码,以便我可以使用EPM(Hyperion)Smartiew自动“刷新”和“全部刷新”? “刷新”function将数据拖到活动选项卡上的Excel中,其中“刷新”全部function刷新工作簿中的所有选项卡。

我想创build一个简单的macros附加到Excel中的命令button,我不知道使用哪个VBA代码。

我试图录制一个macros,我只是开始录制点击刷新和停止录制,虽然这不起作用。

我试过这个代码只是为了刷新:

Declare Function HypMenuVRefresh Lib "HsAddin.dll"() As Long Sub MRetrieve() X = HypMenuVRefresh() End Sub 

但收到一条错误消息说,我不得不更新与64位系统(我使用64位系统)使用的声明方法。

有谁知道我可以创build这个自动的macros来刷新数据?

任何帮助将非常感激!

HypRetrieveRange可以刷新或更新一系列信息,还有一些其他function可能适合您的需要,具体取决于您需要刷新多less信息。 你有没有像他们推荐的那样导入整个smartview.bas文件?

VBA中的x64声明不正确。

尝试:

 Private Declare PtrSafe Function HypMenuVRefresh Lib "HsAddin" () As Long Sub refreshWS() Dim Count, i As Integer i = 1 Count = Worksheets.Count Do While i <= Count Sheets(i).Select MsgBox Sheets(i).Name Call HypMenuVRefresh i = i + 1 Loop MsgBox "done" End Sub 

使用基本上模拟按下button的函数调用!

刷新当前工作表

 Declare Function HypMenuVRefresh Lib "HsAddin.dll" () As Long lngReturn = HypMenuVRefresh() 

刷新所有工作表

 Declare Function HypMenuVRefreshAll Lib "HsAddin.dll" () As Long lngReturn = HypMenuVRefreshAll() 

* 注意:返回值0是'OK'

 Sub Refresh() ' ' Refresh Macro ' Macro recorded 8/12/2011 by joao-oliveira ' Dim oBar As CommandBar Set oBar = Application.CommandBars("Worksheet Menu Bar") oBar.Controls("Hyperion").Controls("Refresh").Execute End Sub 

这对我有效。 您可以将此macros指定给任何button。 而不是使用全部刷新function,我在每个工作表中使用HypMenuVRefresh函数。

 Sub refreshWS() Dim Count, i As Integer i = 1 Count = Worksheets.Count Do While i < Count Sheets(i).Select Call HypMenuVRefresh i = i + 1 Loop MsgBox "done" End Sub 

创build一个button,并为其分配一个新的子程序。 使用call命令调用公共函数。

 Sub RefreshHFM() ' ' RefreshHFM Macro ' Call HypMenuVRefreshAll ' End Sub 
Interesting Posts