自動化過程中, 假如只是執行一次, 我們使用 RPA 起來可能較無感。
若我們觸發一次流程後, 流程自動化重複執行我們動作, 那就很有感了。
若重複的動作超過 100 個動作, 並且重複次數超過 100 次以上就更有感了。
本文將說明如何使用迴圈將我們的動作重複式執行。
概述
工作中我們可能有些動作是需要重複執行的動作, 如我們需要將資料重複輸入至系統或需要不斷執行至不同結果等。
以上狀況若我們沒有使用迴圈執行, 我們可能需要不斷手動點擊流程才能往下執行, 這樣 RPA 對我們來說可能就顯得很不方便。
因此若我們需要方便執行就需要了解迴圈怎麼使用。
目前 RPA 的迴圈有三種:
- 迴圈 - 根據指定次數進行迴圈, 經常被使用在清單處理上, 如逐一更換清單內容或讀取等。 除此之外, 迴圈執行過程中將提供目前迴圈次數;
- 條件迴圈 - 符合條件下進行迴圈, 經常被使用在重複處理並且需要重複執行至得到某個條件為止, 如不斷翻頁處理資料至尾頁或重複執行至指定結果為止;
- Foreach - 根據資料表筆數進行迴圈, 經常被使用在讀取整張資料表內容, 如需要讀取資料表內容並取出使用等。
以下將舉例如何使用迴圈與條件迴圈, Foreach 將會在另一篇獨立說明(重複自動化執行的奧秘 -- 迴圈)。
範例
迴圈 (Loop)
若我們手上有一個水果清單: Apple, Banana, Watermelon, 變數名稱為 Fruit, 而內容設計如下:
%['Apple', 'Banana', 'Watermelon']%
然後新增一個迴圈 (Loop) 在變數下方, 並設計如下:
從 0 開始, 至清單總數-1 結束, 然後每次執行時 +1。
這裡新手看到可能會好奇: 為什麼從 0 開始, 總數-1 結束呢?原因為:
在電腦的世界裡, 數字是從 0 開始, 因此不管是清單或資料表的欄位或資料都從 0 開始, 並且尾端位置編號的數字將都是總數-1。
除此之外, 我們可以看到新增 Loop 後, 流程中將會自動顯示 End 的動作。
End 是迴圈的結束端, 因此若我們有什麼需要重複的動作只要將動作放在 Loop-End 之間將會重複執行, 並在完成迴圈條件後至 End 處結果重複動作。
也因此我們在 Loop-End 之間加入一個變數作為顯示在迴圈重複執行的過程中逐一取出的資料。
這裡我們變數名稱使用 Var ,並且內容使用:
%Fruit[LoopIndex]%
之前變數的使用有看到如何使用清單內容(RPA 第一重要的動作 -- 變數), 那什麼是 LoopIndex 呢?
LoopIndex 是迴圈自動產生的變數, 主要是紀錄目前流程已執行到哪一次迴圈
完成以上設計後即可執行看看我們右側變數 Var 中是否迴圈每次執行時都不一樣。
每次執行畫面如下:
執行第一次時
執行第二次時
執行第三次時
完成時因超過 Fruit 總數-1 而停下的結果:
條件迴圈 (Loop Conditional)
設計一個條件迴圈當變數 Num 小於 10 時執行迴圈, 因此首先我們設計一個變數名稱為 Num, 並且內容為 0。
然後新增一個條件迴圈 (Loop Conditional), 並且設計當 Num 小於等於 10 時。
最後在 Loop Conditional - End 之間加入遞增動作執行 +1。
完成即可執行, 我們會發現當 Num 遞增超過 10 時迴圈將停下。
範例原始碼
SET Fruit TO ['Apple', 'Banana', 'Watermelon']
LOOP LoopIndex FROM 0 TO Fruit.Count - 1 STEP 1
SET Var TO Fruit[LoopIndex]
END
SET Num TO 0
LOOP WHILE (Num) <= (10)
Variables.IncreaseVariable Value: Num IncrementValue: 1
END
結語
根據以上我們可以看到迴圈是協助我們不同情境上的重複執行, 並在符合條件後停止重複執行以避免流程沒有重點。
因此我們可以根據工作上需要重複處理的情境迴圈重複處理。