在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