Set Connection = Application.OpenConnection приводит к сбою Excel для других пользователей. - PullRequest
0 голосов
/ 02 мая 2018

Я дважды проверил совпадение всех ссылок (они соответствуют), и Excel указан в разделе Приложения в SAP; однако, когда другие используют следующий код, Excel полностью падает.

Если я запускаю код (нажимая созданную кнопку), Excel просто закрывается. Если я прохожу, я получаю предупреждение о том, что Excel не отвечает в строке Set Connection = Application.OpenConnection("Production").

Private Sub CommandButton1_Click()
    strVar = InputBox("Which Path?" & vbNewLine & vbNewLine & "1 - DC to Copack" & vbNewLine & vbNewLine & "2 - Copack to DC" & vbNewLine)
    Sheet1.Cells.Clear

    Call DeleteRepl

    Dim SapGuiAuto As Object
    Dim Application As SAPFEWSELib.GuiApplication
    Dim Connection As SAPFEWSELib.GuiConnection
    Dim i As Integer
    Dim Conn As String
    Dim Flag As Boolean

    Flag = False

    If Not IsObject(SAPguiAPP) Then
        Set SAPguiAPP = CreateObject("Sapgui.ScriptingCtrl.1")
    End If

    Set SapGuiAuto = GetObject("SAPGUI")
    Set Application = SapGuiAuto.GetScriptingEngine

    If Application.Connections.Count() > 0 Then
        For i = 0 To Application.Connections.Count() - 1
            Set Connection = Application.Children(i)
            Conn = Connection.Description()
            If Conn = "Production" Then
                Flag = True
                Exit For
            End If
        Next

        If Flag = False Then
            Set Connection = Application.OpenConnection("Production")
        End If

        If Not IsObject(Session) Then
            Set osession = Connection.Children(0)
        End If

Далее код продолжается.

Вероятно, важно отметить, что это затрагивает двух других пользователей и началось в один и тот же день (26 апреля 2018 года) для них обоих. Ни у кого не было проблем до этой даты. Тем не менее, у меня нет проблем с кодом для меня. Кроме того, «Производство» используется вместо фактического описания.

...