Loop List Control

Loops through the items of a list box or list view. The variable specified is updated with the current item text. With each successive loop, the next item is retrieved. The loop ends after all the elements have been browsed or when a Break is encountered. Used to perform some action an all items in a list box or list view.

Only standard Windows list controls will work with the Loop List Control action. Many applications use images or other controls that may act like list controls but they are not native Windows controls— the Loop List Control Action will not work with these controls.

Declaration

<AMLOOP TYPE="LISTCONTROL" WINDOWTITLE="text" WINDOWCLASS="text" WINDOWHANDLE="number" OBJECTNAME="text" OBJECTVALUE="text" OBJECTCLASS="text" OBJECTTYPE="text" CHECKOBJECTNAME="yes/no" CHECKOBJECTVALUE="yes/no" CHECKOBJECTCLASS="yes/no" CHECKOBJECTTYPE="yes/no" CHECKOBJECTPOSITION="yes/no" OBJECTXPOS="number" OBJECTYPOS="number" RESULTVARIABLE="text [variablename]" INCLUDE="text" EXCLUDE="text" SORT="text [options]" RESULTDATASET="text">

Example

<AMVARIABLE NAME="VariableName1"></AMVARIABLE>
<AMSPEAK ENGINE="automatic">These are the items on the list</AMSPEAK>
<AMLOOP TYPE="LISTCONTROL" WINDOWTITLE="My Documents" OBJECTCLASS="SysListView32" OBJECTTYPE="List" CHECKOBJECTCLASS="YES" CHECKOBJECTTYPE="YES" CHECKOBJECTPOSITION="YES" OBJECTXPOS="204" OBJECTYPOS="119" RESULTVARIABLE="VariableName1" EXCLUDE="*.txt" SORT="ascending" RESULTDATASET="DatasetName">
<AMSPEAK ENGINE="automatic">%VariableName1%</AMSPEAK>
</AMLOOP>

See Also: Loop Tree Control

To set Loop List Control properties

  1. In the Available Actions pane, open the Loop folder and double-click the Loop List Control action or drag it into the Steps pane.

  2. In the Populate variable with item text box, select the variable to populate.

  3. Open the window that contains the control, and display the list control you want to use.

  4. Drag the icon from the Loop List Control dialog box into the list control. A black outline appears around the list control when it is selected. When you release the mouse, the dialog box is automatically populated with the list control specifications.

  5. To change any of the list control specifications, click Edit and edit the specifications as needed.

  6. To sort or limit the output from the list, click the Advanced tab and enter the properties as follows:

  1. To set the Description tab properties, refer to Description Tab Options.

  2. To set the Error Causes and On Error tab properties, refer to Step Error Handling.

  3. When finished, click OK to save settings and close the properties dialog box.

To auto-indent after all steps are added

  1. In the Steps pane, hold down SHIFT and click the first and last steps in the block so that the complete block of steps is selected.

  2. Click Format .

General Tab

Populate Variable With Item Text

Variable, Required
MARKUP: RESULTVARIABLE="myvariablename"

Specifies an existing AWE variable that should be populated with the contents of the specified control at runtime.

Object Description

Select the target control by dragging the icon. Then click Edit to access these properties.

Text, Required
MARKUP:
a) WINDOWTITLE="Untitled - Notepad"
b) WINDOWTITLE="*Internet Explorer*"

Specifies the title of the window to act on. The value is not case sensitive. This parameter supports wildcard characters (* and ?). For example "*Internet Explorer*" would include all windows containing Internet Explorer.

Note: A Window title is required because without this parameter, the action would have to search every control of every window on the system, which would take an unacceptable amount of time. To ignore the window title, use a wildcard character (* or ?); if this parameter is left blank, the action assumes it is searching for a window title that is blank.

Text, Required
MARKUP: WINDOWCLASS="Outlook Express Browser Class"

Specifies the class of the window to act on. The value is not case sensitive. This parameter supports wildcard characters (* and ?). For example "*Explore*" would include all window classes containing Explore.

Note: If this parameter is left blank the action assumes it is searching for a window class that is blank; to ignore the window class, use a wildcard character (* or ?).

Number, Optional, Default: 0
MARKUP: WINDOWHANDLE="555735"

Specifies the handle of the window to act on. If set to 0 or omitted, this parameter is ignored.

Yes/No, Optional, Default: NO
MARKUP: CHECKOBJECTTYPE="YES"

When set to YES, specifies that the object type parameter will be used to identify the control. If set to NO, the type of the control is ignored.

Text, Optional, Default: (blank)
MARKUP: OBJECTTYPE="List"

Specifies the type of control that should be used in the action. Valid only if Object type must be [CHECKOBJECTTYPE] is set to YES.

Yes/No, Optional, Default: NO
MARKUP: CHECKOBJECTCLASS="YES"

When set to YES, specifies that the object class parameter will be used to identify the control. If set to NO, the class of the control is ignored.

Text, Optional, Default: (blank)
MARKUP: OBJECTCLASS="SysListView32"

Specifies the class of control that should be used in the action. Valid only if Object class must be [CHECKOBJECTCLASS] is set to YES.

Yes/No, Optional, Default: NO
MARKUP: CHECKOBJECTNAME="YES"

When set to YES, specifies that the object name parameter will be used to identify the control. If set to NO, the name of the control is ignored.

Text, Optional, Default: (blank)
MARKUP: OBJECTNAME="Cancel"

Specifies the name of the target control. Valid only if Object name must be [CHECKOBJECTNAME] is set to YES.

Yes/No, Optional, Default: NO
MARKUP: CHECKOBJECTVALUE="YES"

When set to YES, specifies that the object value parameter will be used to identify the control. If set to NO, the value of the control is ignored.

Text, Optional, Default: (blank)
MARKUP: OBJECTVALUE="1"

Specifies the value of the target control. Valid only if Object value must be [CHECKOBJECTVALUE] is set to YES.

Yes/No, Optional, Default: NO
MARKUP: CHECKOBJECTPOSITION="YES"

When set to YES, specifies that the Position X and Position Y parameters will be used to identify the control. If set to NO, the position of the control is ignored. The X and Y coordinates specified are relative to the window specified in the Window Title [WINDOWTITLE] parameter (not the screen).

Text, Optional, Default: (blank)
MARKUP: OBJECTXPOS="80"

Specifies the X coordinate position of the control relative to the window specified in the Window Title [WINDOWTITLE] parameter. The parameter is ignored if Position must be [CHECKOBJECTPOSITION] is set to NO.

Text, Optional, Default: (blank)
MARKUP: OBJECTYPOS="90"

Specifies the Y coordinate position of the control relative to the window specified in the Window Title [WINDOWTITLE] parameter. The parameter is ignored if Position must be [CHECKOBJECTPOSITION] is set to NO.

Advanced Tab

Text, Optional, Default: (blank)
MARKUP: INCLUDE="d*"

Specifies a wildcard mask representing the items to include in the loop. For example, specifying D* returns only items that begin with the letter "D".

Text, Optional, Default: (blank)
MARKUP: EXCLUDE="z*"

Specifies a wildcard mask representing the items to exclude from the loop. For example, specifying Z* returns no items that begin with the letter "Z".

Text, Optional, Default: (blank)
MARKUP: RESULTDATASET="DatasetName"

Specifies the name of a dataset to be created and populated with data from the looped list. The dataset will contain a column for each column in the list control plus an index column for the index number of the list item.

Text [options], Optional, Default: ("none")
MARKUP: SORT="ascending"

Specifies the sort order to be applied to the values before the loop begins.

The available options are:

Description Tab

This action includes the Description tab for entering a custom step description.

More on setting custom step description

Standard Error Handling Options

This action also includes the standard Error Causes and On Error failure handling options/tabs.

More on Error Handling Options

Variables and Expressions

All text fields allow the use of expressions, which can be entered by surrounding the expression in percentage signs (example: %MYVARIABLE%, % Left('Text',2)%). To help construct these expressions, you can open Expression Builder from these fields by pressing F2.

More on variables

More on expressions

More on the expression builder

See Also

About Actions

Adding Task Steps