在 Power Automate Desktop 中運行 Python
我是覺得 Power Automate Desktop 本身已經很強,過去幾年,MS推過這類 no code/low code 產品N次,但就像我有位好朋友才剛剛說的:『你早人家一步是先知,早人家兩步往往是烈士!』一個產品要獲得最後的成功,總是得蒐集齊了天時、地利、與人和。
我覺得這次 Power Automate Desktop 算是做得很不錯,actions 的數量和生態系頗好。我最近也幫不少企業做了 Power Automate Desktop 的教育訓練。
然而今天,居然差點被學員的一個小問題給考倒了。
有位學員碰到一個我覺得頗簡單的情境,希望能夠在 Power Automate Desktop 的流程運行中計算一個字串變數的長度。我想說這個隨便哪一種語言都能做的功能,Power Automate Desktop應該可以吧,結果,找了半天,竟然沒有!!!
Power Automate Desktop中,字串相關的 actions 清單在底下:
文字動作參考 - Power Automate | Microsoft Learn
還真的沒有。
怎麼辦? 身為程式設計師的想法當然是–>那我寫 code 總可以了吧。
找到了 Run Python Script 的 action:
用的時候發現,寫code是很容易,但怎麼把變數傳進去和把計算結果傳出來,倒是花了我一點時間。原來,run python script 居然可以透過 print 來把運行結果傳出來,所以,底下這段指令可以取得 UserInput 字串,並且透過運行 Python Code 取得長度,最後設定在 PythonScriptOutput 變數中:
如此一來,不只可以取得字串長度,基本上你想幹什麼都行。底下透過三個action做一個示範,讓用戶輸入文字,然後透過 python 計算該文字的長度,最後透過對話視窗顯示出來:
最後,整個流程完整的 script 設計如下:
結果,no code solution 還是透過 code 解決了問題 🤣
後記:
這篇其實主要是想介紹在RPA中透過 Run Python Script 來實現系統中可能無法直接提供的功能。但基於RPA的精神,還是應該少寫一點code比較好。
因此,網友提供了一個比較標準的作法,可以透過變數的.length來取得長度。這樣確實是更正統的做法,分享在底下:
留言