Excel SmartView vb函数HypConnect无法正常工作/错误代码100000

时间:2015-03-17 21:25:03

标签: excel-vba hyperion vba excel

在下面的代码中,我尝试在许多工作表中自动执行SmartView检索。代码似乎工作正常,直到我开始循环之前创建连接。在循环内部,我想使用HypConnect来使用连接 - 但是它返回一个100000的rerror代码并且没有连接。当我测试一些状态变量时,我看到连接存在但是表单没有连接。

我已将完整的smartview.bas文件复制到同一工作簿中的另一个模块中。

在我调用HypConnect时,所有四个参数都被定义并具有正确的值。

我不知道还有什么可能是错的。

Sub Retrieval()

URL = Sheets("Index").Range("E5").Value
Server = Sheets("Index").Range("E6").Value
App = Sheets("Index").Range("E7").Value
Db = Sheets("Index").Range("E8").Value
UserId = Sheets("Index").Range("E10").Value
psw = InputBox("Password")
DSN = "Source"

x = HypDisconnectAll()
If HypConnectionExists(DSN) Then x = HypRemoveConnection(DSN)
x = HypCreateConnection( _
    Empty, _
    UserId, _
    psw, _
    "Essbase", _
    URL, _
    Server, _
    App, _
    Db, _
    DSN, _
    "Connection for retrievals")
x = HypSetConnAliasTable("Source", "Code_and_Desc")
x = HypSetGlobalOption(5, 3)     'turn off warnings
x = HypSetGlobalOption(6, True)  'use thousands separator
x = HypSetGlobalOption(15, True) 'retain formats

For Each Sheet In Worksheets
    Sheet.Activate
    RR = Range("A1").Value
    If RR = "" Then RR = "A1"
    If RR <> "Do not retrieve" Then
        x = HypConnect(Sheet.Name, UserId, psw, DSN)

        x = HypSetSheetOption(Sheet.Name, 5, 0)
        x = HypSetSheetOption(Sheet.Name, 6, False)
        x = HypSetSheetOption(Sheet.Name, 7, False)
        x = HypSetSheetOption(Sheet.Name, 8, False)
        x = HypSetSheetOption(Sheet.Name, 13, "#numericzero")
        x = HypSetSheetOption(Sheet.Name, 16, 2)

        x = HypRetrieveRange(Sheet.Name, RR, DSN)
        End If

    Next Sheet

x = HypSetGlobalOption(5, 2) 'turn warnings back on
x = HypRemoveConnection(DSN)
x = HypDisconnectAll()

MsgBox ("Done")
End Sub

1 个答案:

答案 0 :(得分:0)

昨天我检查了很多次,我的服务器名称不正确,找不到它。今天,我用更新鲜的眼睛发现了问题,上面的代码运行正常。虽然问题实际上是在HypCreateConnection行中,但该函数调用返回了0错误代码。然后使用具有无效连接的HypConnect导致错误 - 并返回未记录的错误代码。