This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
action:For_Each [2016/02/17 11:26] JMichaelTX Add icon; Replace example |
action:For_Each [2024/11/22 02:50] (current) peternlewis [See also] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{:action:for-each-icon.png?nolink |}} | ||
====== For Each Action ====== | ====== For Each Action ====== | ||
- | The For Each action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. | + | The *For Each* action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. |
+ | |||
+ | It is one of several Actions that _loop_ through a set of other Actions until some criteria is met. | ||
Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | ||
+ | |||
+ | ===== How To Use ===== | ||
+ | |||
+ | - Add the //For Each// Action, from the //Control Flow// Category, to your macro | ||
+ | - {{:action:km-editor-for-each-action.png?nolink|}} | ||
+ | - {{:action:km-for-each-action-2.png?nolink|}} | ||
+ | - Enter a variable or select from the pop-up at the end of the //For each// text area. | ||
+ | * This variable will contain each item in the Collection list as the For Each Action loops | ||
+ | * This can be a new or existing variable, as your needs dictate | ||
+ | * You can then use or process this item as needed | ||
+ | - Add a collection by clicking the green + button beside //New Collection// to select from a list of available collections. You can learn more about the available collections on the [[:Collections]] page. | ||
+ | - When you choose a specific collection, further options may become available. | ||
+ | - Add one or more actions into the //No Action// (which means no actions have been added yet) area. | ||
+ | * These actions will operate on each item in the Collection that is stored in the Variable from Step #2 | ||
+ | |||
+ | You can break out of the loop, retry this iteration, or skip to the next iteration with the [[actions:Redirect_Control_Flow|actions:Redirect Control Flow]] actions. | ||
+ | |||
+ | There is an option in the action (gear) ⚙ menu to display the progress of the For Each action (v10.0+). | ||
===== Examples ===== | ===== Examples ===== | ||
- | For example, you can use this action to split text into lines or substrings. | + | **Example #1: Split text into lines or substrings** |
- | {{ :action:km-for-each-lines-example.png?nolink |}} | + | {{:action:km-for-each-lines-example.png?nolink|}} |
- | Enter a variable or select from the pop-up at the end of the //For each// text area. | + | For a complete macro using this Action, see [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] |
- | Add a collection by clicking the green + button beside //New Collection// to select from a list of available collections. You can learn more about the available collections on the [[:Collections]] page. | + | **Example #2: Get Capture Group for Multiple Matches** |
- | When you choose a specific collection, further options may become available. | + | See [[:Regular Expressions#Examples|Regular Expressions (RegEx) Examples]] |
- | Drag one or more actions into the //No Action// area. | ||
===== See also ===== | ===== See also ===== | ||
+ | === Actions === | ||
- | ==== Forum topics ==== | + | * [[action:Pause_Until|Pause Until]] action |
+ | * [[action:Repeat|Repeat]] action | ||
+ | * [[action:Until|Until]] action | ||
+ | * [[action:While|While]] action | ||
+ | * [[action:Assert|Assert]] action | ||
+ | * [[actions:Redirect_Control_Flow|Redirect Control Flow]] actions | ||
+ | * [[:Actions|See all actions]] | ||
+ | |||
+ | === Triggers === | ||
+ | |||
+ | * [[trigger:Typed String|trigger:Typed String]] | ||
+ | * [[:Triggers|See all triggers]] | ||
+ | |||
+ | ==== Forum ==== | ||
- [[https://forum.keyboardmaestro.com/t/text-filtering/2763/14|Text filtering]] | - [[https://forum.keyboardmaestro.com/t/text-filtering/2763/14|Text filtering]] | ||
- [[https://forum.keyboardmaestro.com/t/microsoft-word-make-numbers-in-selectd-text-superscript-without-affecting-the-words/2895/4|Microsoft Word: Make numbers in selected text superscript without affecting the words]] | - [[https://forum.keyboardmaestro.com/t/microsoft-word-make-numbers-in-selectd-text-superscript-without-affecting-the-words/2895/4|Microsoft Word: Make numbers in selected text superscript without affecting the words]] | ||
- [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | - [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | ||
- | - [[https://www.google.fr/webhp?aqs=chrome..69i57.14628j0j7&gws_rd=c&ei=_BSVse8Ecb9acLtidAB#q=site:forum.keyboardmaestro.com+For+Each+Item|Keyboard Maestro Forum topics about For Each Item]] | + | - [[https://forum.keyboardmaestro.com/t/for-each-item-difficulty-understanding-action/3162/2|For Each Item]] |