excel - VBScript Do While 循环在嵌套时跳过部分代码
问题描述
我有这个 Do...While - 循环 VBScript 代码,可以很好地将屏幕数据从 Bluezone Web-to-Host 平台拉到 Excel,然后对其进行排序。但是,它需要密码才能打开记录。此密码的变量已命名CourtCode
,值位于Sheet("Main").Range("B2")
. VBScript 可以很好地提取此单一密码的记录
但是当我在同一张表的B列中填写密码列表并尝试循环时,我发现它只会显示记录的屏幕并只处理第一条记录。
这是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
为了使用循环重复此代码,我尝试了:
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
我面临的问题是新循环每个密码不会超过一条记录。请帮忙。我不知道我是否缺少任何东西。
解决方案
推荐阅读
- google-chrome - 我可以将协作者添加到我的 chrome 扩展程序中吗?像多管理员一样的扩展
- git - 是否有 git 速记来引用我所在的当前分支?
- angular - Angular.io 代理配置
- azure - 在 Azure 中组合 Web 和移动应用时的身份验证
- python - 重采样后日期时间错误
- node.js - 从 Node.js 服务器上传媒体文件到 MongoDB
- jenkins - 使用 websocket 断开 Jenkins 代理
- java - 为了创建反向 Java 调试器,检测 Java 类的最佳方法是什么?
- macos - OpenCl.framework Mac OS Mojave 中的 Missed Headers 文件夹
- mysql - 带有 if 和 CONCAT 的 MySQL 语句