I have a VB script that runs an "open account" imacro that pulls up accounts in a web portal and then runs another imacro script to extract various fields. It works well enough but the problem is, if the account in question is not found, it continues to run the extract script. What I would like it to do is abort/exit if the account can not be pulled up and continue to the next account while entering "not found" beside the offending entry. Thank you!
My setup details are:
Microsoft Windows 10 Home
64-bit Operating System
Installed UI Culture: English (Canada)
Internet Explorer version 9.11.18362.0
iMacros version 8.0.3.2216 (don't hate me)
The scripts I am using look like this:
Open Account imacro
set !TIMEOUT_STEP 1
SET !ERRORIGNORE YES
FRAME NAME=main
'INITIAL SCREEN
TAG POS=1 TYPE=NOBR FORM=NAME:form1 ATTR=TXT:Lookup
TAG POS=1 TYPE=NOBR FORM=NAME:frmPrimary ATTR=TXT:Lookup
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:Lookup ATTR=NAME:txtEstateNumber CONTENT={{Acct#}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:Lookup ATTR=NAME:btnSearch
' click claim button/OPEN ACCOUNT
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:Lookup ATTR=NAME:dgPostSetup$ctl02$ClaimCode
Get Account Details
set !TIMEOUT_STEP 1
SET !ERRORIGNORE YES
FRAME NAME=main
'set !replayspeed medium
'Bank's Name - THIS IS ALSO THE LINK TO DETAILS SCREEN
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:frmPrimary ATTR=NAME:dgParty$ctl02$bthParty EXTRACT = TXT
'BANK TYPE
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtBankruptcyType EXTRACT = TXT
'Trustee
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtTrusteeName EXTRACT = TXT
'CONTACT NAME DROPDOWN
TAG POS=1 TYPE=SELECT FORM=NAME:frmPrimary ATTR=NAME:ddlContact EXTRACT = TXT
'REQUEST STATUS DROPDOWN
TAG POS=1 TYPE=SELECT FORM=NAME:frmPrimary ATTR=NAME:ddlRequest EXTRACT = TXT
'Status
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtStatus EXTRACT = TXT
'Status Date
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtStatusDatebox EXTRACT = TXT
'Status Days
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtStatDay EXTRACT = TXT
'Urgent note!
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtFlag1 EXTRACT = TXT
'Instruction Date
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtInstructDatebox EXTRACT = TXT
'Instruction Days
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmPrimary ATTR=NAME:txtInsDay EXTRACT = TXT
'========GET ACCOUNT DETAILS MENU CONTROL 2============
'TAGS NOT WORKING, HAVE TO USE DIRECT SCREEN
'SIZE X=1071 Y=837
DS CMD=CLICK X=356 Y=21
WAIT SECONDS=1
DS CMD=CLICK X=355 Y=65
'=================
FRAME NAME=main
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtBankruptBalance EXTRACT = TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtBankruptDate EXTRACT = TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtOutstanding EXTRACT = TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtLoanNum EXTRACT = TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtOtherNum EXTRACT = TXT
TAG POS=1 TYPE=SELECT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$ddlProduct EXTRACT = TXT
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:frmAccountInfo ATTR=NAME:ctl04$txtOwing EXTRACT = TXT
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:frmAccountInfo ATTR=NAME:btnExit
VB script
Code: Select all
Sub LOGIN_GET_FILE_DETAILS()
Dim iim1, iret, row, totalrows, iim, FirstRow, c, xx
Dim oSh As Worksheet
Set oSh = ActiveSheet
Set iim1 = CreateObject("imacros")
iret = iim1.iimInit
iim1.iimPlay ("D:\OneDrive\iMacros\Login.iim")
DoEvents
FirstRow = ActiveSheet.Range("p1")
totalrows = ActiveSheet.Range("q1")
For row = FirstRow To totalrows
c = 13 ' c = column start number
x = 1 ' x = extract#
xx = 1 ' loop counter for saving every 100 loops
iret = iim1.iimSet("Acct#", Cells(row, 3).value)
iret = iim1.iimPlay("D:\OneDrive\iMacros\Teranet\TeranetOpenAccount.iim")
iret = iim1.iimPlay("D:\OneDrive\iMacros\Teranet\Teranet_GET_ALL_DETAILS.iim")
'iret = iim1.iimSet("-tray", "") 'iim1.iimSet("-silent", "")
Cells(row, c).value = Replace(iim1.iimGetLastExtract(x), "[EXTRACT]", "")
c = c + 1
x = x + 1
Cells(row, c).value = Replace(iim1.iimGetLastExtract(x), "[EXTRACT]", "")
c = c + 1
x = x + 1
Next row
oSh.ListObjects(1).DataBodyRange.WrapText = False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub