Почему мой код VBA не выполняется должным образом на сервере RDS, но работает на 2 моих локальных машинах? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть код VBA, который должен проходить по каждой ссылке в таблице JavaScript, затем он нажимает 2 кнопки и переходит к следующей ссылке.Он отлично работает на 2 аппаратных компьютерах, которые есть у меня за столом, но у меня также есть профиль на сервере удаленного рабочего стола.

Удаленный профиль будет переходить только на первую ссылку и игнорировать / отбрасывать остальные.У меня те же разрешения на локальных рабочих станциях, что и на удаленном сервере.Буду признателен за любую помощь

Я перезагрузил свой профиль пользователя и обновил свои групповые политики.Я перекодировал модуль, чтобы не вызывать дополнительные Subs, и я закодировал его, чтобы вкладывать Subs.Иногда он будет работать нормально и перебирать несколько раз, а затем вернуться к выполнению только первой ссылки.

Sub Look_up()

Application.Wait (Now + TimeValue("0:00:02"))
Set allLinks = appIE.document.getElementById("tblItems").getElementsByTagName("a")
For Each link In allLinks
    appIE.Navigate link
    Application.Wait (Now + TimeValue("0:00:03"))

    For Each wd In CreateObject("Shell.Application").Windows
        If wd = "Internet Explorer" Then
           Call LookUp.NextIEWin
        End If
    Next wd
Next link
End Sub



Sub NextIEWin()
    If InStr(UCase(wd.document.Title), "ITEM") <> 0 Then
                Do Until IsObject(wd.document.getElementById("btnLook")) = True
                DoEvents
                Application.Wait (Now + TimeValue("0:00:01"))
                Loop
                    If wd.document.getElementById("drpReason").Value = 20369 Then

                        Do Until IsObject(wd.document.getElementById("btnAddItem")) = True
                        DoEvents
                        Application.Wait (Now + TimeValue("0:00:01"))
                        Loop
                        Application.Wait (Now + TimeValue("0:00:02"))
                        Range("F" & 2).Value = Error_1

                        wd.document.getElementById("btnAddItem").Click
Else
                        wd.document.getElementById("btnLook").Click
                        Do Until IsObject(wd.document.getElementById("btnAddItem")) = True
                        DoEvents
                        Application.Wait (Now + TimeValue("0:00:01"))
                        Loop
                        Application.Wait (Now + TimeValue("0:00:02"))
                        wd.document.getElementById("btnAddItem").Click
                    End If
    End If
End Sub

My

For Each link In allLinks

Отлично работает на моих локальных рабочих станциях.Кажется, он разрывается и обрабатывает только первую ссылку, а остальные - в моих сеансах RDS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...