У меня есть 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 не принимает более одной записи на один код доступа. Пожалуйста помоги. Я не знаю, пропускаю ли я что-нибудь.