在Smart View for Oracle中创建VBA刷新宏

时间:2013-08-12 11:06:00

标签: excel vba hyperion epm

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

我想在Excel中创建一个附加到命令按钮的简单宏,我不确定要使用哪个VBA代码。

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

我尝试使用此代码进行刷新:

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

Sub MRetrieve()
  X = HypMenuVRefresh()
End Sub

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

有谁知道如何创建这个自动宏来刷新数据?

任何帮助将不胜感激!

6 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

VBA中x64的声明不正确。

尝试:

getDeclaredAnnotations()

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

刷新当前工作表

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

刷新所有工作表

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

* 注意: 0的返回值为“确定”

答案 4 :(得分:0)

这对我有用。您可以将此宏指定给任何按钮。我使用每个工作表中的 HypMenuVRefresh 函数,而不是使用refresh all函数。

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

答案 5 :(得分:0)

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

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