Отключить диалоговое окно «Подключение служб Analysis Services 14.0» - PullRequest
0 голосов
/ 30 мая 2019

Хотите отследить любые ошибки в соединении OLEDBC из-за учетных данных или разрешений пользователя, но MSOLAP.8 («Подключение служб Analysis Services 14.0») всегда запрашивает исправленные параметры.В качестве обходного пути я могу понизиться до MSOLAP.7 для желаемого поведения.

Среда - VBA в Excel 365. MSOLAP.8 не вызовет ошибку, которую можно отследить, пока пользователь не нажмет «Отмена» в диалоговом окне.Хочу избегать этого диалога, так как он содержит настройки (сервер, куб), которые могут запутать некоторых пользователей.

Я безуспешно пытался отключить диалоговое окно следующих утверждений ...

    Application.EnableEvents = False
    Application.DisplayAlerts = False

... а также просмотр всех параметров подключения MSOLAP.8 для возможного решения.

Private Sub btn_Refresh_Click()

    On Error GoTo connection_error

    Application.EnableEvents = False
    Application.DisplayAlerts = False

    With ActiveWorkbook.Connections("xxx").OLEDBConnection
        .CommandText = Array("xxx")
        .CommandType = xlCmdCube
        .Connection = Array( _
        "OLEDB;Provider=MSOLAP.8;Password=""" & Me.txt_Pwd & """;Persist Security Info=True;User ID=" & Me.txt_User & ";Catalog=xxx;Data Source=http" _
        , _
        "://xxx.xxx.xxx.xxx.xxx:xxx/xmla/default;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error;Update " _
        , "Isolation Level=2")
        .RefreshOnFileOpen = False
        .SavePassword = False
        .SourceConnectionFile = ""
        .MaxDrillthroughRecords = 1000
        .ServerCredentialsMethod = xlCredentialsMethodNone
        .AlwaysUseConnectionFile = False
        .RetrieveInOfficeUILang = True
    End With

    With ActiveWorkbook.Connections("xxx")
        .Name = "xxx"
        .Description = "xxx"
    End With

    ActiveWorkbook.Connections("xxx").OLEDBConnection.MakeConnection

    ActiveWorkbook.Connections("xxx").Refresh

    Unload Me
    Exit Sub

connection_error:
    MsgBox "You have either entered the wrong ID and password, or you do not have permission to view this data."
End Sub

...