VBScript Do Хотя l oop пропускает часть кода при вложении - PullRequest
0 голосов
/ 06 января 2020

У меня есть Do ... Пока - L oop Код VBScript, который отлично работает при перетаскивании данных экрана с платформы Bluezone Web-to-Host в Excel и последующей их сортировке. Однако для открытия записей требуется пароль. Переменная для этого пароля имеет имя CourtCode, а значение - Sheet("Main").Range("B2"). VBScript отлично работает при извлечении записей для этого единственного пароля

Но когда я заполняю список паролей в столбце B того же листа и пытаюсь выполнить l oop, я обнаружу, что он покажет только Экран записей и обработать только первую запись.

Вот код VBScript:

Do While oRow < numberofLoops And Checkr < 1
'For oRow = 1 To numberofLoops

z = 1



'  PF11 - GENERAL LOOK-UPS AND INQUIRY 
bzo.SendKey "<PF11>"
bzo.WaitReady 10, 1


' Enter court code
bzo.SetCursor 8, 37
bzo.SendKey CourtCode
bzo.SendKey "<PF6>"
bzo.WaitReady 10, 1

    ' Loop through X entry



    If oRow > 10 And oRow < 21 Then
            z = z + 10
            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1
    End If

    If oRow > 20 And oRow < 31 Then
            z = z + 20
            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1

            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1
    End If

    If oRow > 30 And oRow < 41 Then
            z = z + 30
            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1

            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1

            bzo.SendKey "<PF8>"
            bzo.WaitReady 10, 1
    End If

  Do While z < oRow     

        bzo.SendKey "<Down>"
    bzo.WaitReady 10, 100
        z = z + 1
    Loop



    'If oRow = 11 Then 
    '       bzo.SendKey "<Up>"
    '       bzo.WaitReady 10, 1
    'End If

bzo.SendKey "x"
bzo.SendKey "<Enter>"
bzo.WaitReady 10, 1

bzo.SendKey "<PF1>"
bzo.WaitReady 10, 1

    ' Copy first screen
bzo.Copy rcScreen
wb.Sheets("DATA").Activate
wb.Sheets("DATA").Range("A1").Select
wb.Sheets("DATA").Paste

'Go back
bzo.SendKey "<PA2>"
bzo.WaitReady 10, 1

bzo.SendKey "<PF2>"
bzo.WaitReady 10, 1

'Copy second screen
 bzo.Copy rcScreen
wb.Sheets("DATA").Range("N1").Select
wb.Sheets("DATA").Paste

'Go back
bzo.SendKey "<PA1>"
bzo.WaitReady 10, 1

oRow = oRow + 1
eo.Run "Sortr"

Checkr = eo.ActiveWorkbook.Sheets("MAIN").Range("F2").Value

 Loop 

Чтобы повторить этот код с al oop Я попытался:

Do While i < numberofpasscodes  ' As found in Excel sheet

  CourtCode = eo.ActiveWorkbook.Sheets("MAIN").Range("B" & i).Text
   '''''''''''''''
   '  Block of vbscript loop above
   '''''''''''''''
  i = i + 1

Loop

Проблема, с которой я столкнулся является то, что новый l oop не принимает более одной записи на один код доступа. Пожалуйста помоги. Я не знаю, пропускаю ли я что-нибудь.

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