使用VBA自动刷新智能视图Hyperion

时间:2019-02-08 14:19:07

标签: excel vba obiee hyperion smartview

也许有人可以帮助我了解我做错了什么,因为我被卡住了。 通常,我有一个过程,其中有一个.vbs文件,该文件触发宏文件,该文件与Hyperion建立连接并刷新工作表。

由于某种原因,当我触发该宏时,即使我声明了凭据,它总是要求我输入凭据(这当然会破坏自动化)。

目前我有这样的代码-两个声明:

Declare Function HypMenuVRefreshAll Lib "HsAddin.dll" () As Long
Declare Function HypConnect Lib "HsAddin" (ByVal vtSheetName As Variant, ByVal vtUserName As Variant, ByVal vtPassword As Variant, ByVal vtFriendlyName As Variant) As Long

,然后刷新发生在该部分:

Public Sub Connect_OBIEE()

Dim wsSheet As Worksheet


For Each wsSheet In ActiveWorkbook.Worksheets
    x = HypConnect(wsSheet.Name, "<login>", "<password>", "<name of connection>")
Next wsSheet

lngReturn = HypMenuVRefreshAll()

End Sub

如何避免出现连接弹出窗口,它再次询问我的凭据(如果我输入该凭据),当然可以正常工作,然后一切都按需进行。

因此,这里的要点是,我的触发宏的vbs文件应自动输入所有内容,刷新文件,保存并关闭,而没有这些弹出窗口。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我以您的代码为基础,并遇到了与您相同的问题。我通过更改服务器名称进行修复。我使用了以下语法:

HypConnect(“ Sheet1”,“ UserName”,“ Password”,“ http://hostname:19000/aps/SmartView|servername|Sample|Basic”)

然后我必须将URL从SmartView选项中的URL更改为出现在提示您输入密码的对话框中的URL,该密码稍有不同

“服务器名|样本|基本”应与您的Smart View面板上列出的最近使用的连接的语法相同