由於疫情的關係有幾周的人員分流上班的機會,
我與小朋友在家遠端連線Google Meeting與小朋友的老師上線上課程,
正好奇老師竟然請同樣是教師退休的老婆代課一、兩堂。
就於下課之際,我私下與老師一談,才知道老師考卷還沒改完,
即便改完了,還要分等級寫評語,在確認一切無誤後交付學校;
這讓我想起以前家父也是教師,常常因為上課忙到餐餐誤時,
就於此時,我那扶弱濟傾的正義性格被挑起了,
拍拍胸脯,告訴老師,我有辦法!!
有感受到嗎?每一彈的拯救貧窮,接下來就是幾日連續的實作分享喔!
既然之前能以日常情境用幾個鐵人賽工作天,
幫助前同事表哥把店家/套餐價目表有如魔術般的自動處理,
當然在小孩的老師面前也不能示弱,
我跟他侃侃而談目前科技的進步,
也一方面想要展示我與「科技哥」的多年好友關係,
因此,我請老師給我點時間展示一下我優雅自動化特助的戰鬥力。。。
顧慮到老師的飯碗恐因過忙而不保,
所以決定再次踏上拯救貧窮大作戰的路,
以下我還是用幾個鐵人賽的工作天,
來簡單說明如何實現「分數自動分級交付學校」的神蹟。。。
BP新增一個讀取Excel的『Objects』
目的: 建立一個讀取Excel的Object讓其他流程重複使用。
(基於小朋友個資,只能以簡單案例來詮釋)
1. 作業前準備:製作一個學生名錄/分數表
2. 開啟Blue Prism,於Objects分支下建立一個群組(Create group): ExcelTest
3. 於群組資料夾下建立一個物件(Object): ReadExcelTest
(1). 輸入Object的名稱,並按下Next
(2). 可暫不填寫,按下Finish
(3). 完成後,點擊該物件,即開啟編輯畫面
4. Create Instance創建實例Action
(1). 點擊編輯畫面中Action頁籤,將看到Start、End的起始與結束圖示。
(2). 於Start之下新增一個Action,名稱為:Create Instance
A. 於左邊流程圖示工具區拖曳一個Action到Start之下
B. 開啟Action的設定畫面:兩下點擊Action1,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name:Create Instance
Business Object: MS Excel VBO
Action: Create Instance
D. 設定該Action的輸入(Input): 此部分可暫不設定。
E. 設定該Action的輸出(Output):
handle的Store In 點擊方塊小圖以使用預設handle(此時右邊的資料類型於number中增加一個handle的分支)
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Create Instance 的Action:
旁邊有剛剛點擊預設產生的資料暫存(DataItem): handle。
5. Open Workbook開啟工作簿 Action
(1). 於Create Instance 的Action之下複製一個Action,名稱為: Create Instance
A. 點選Create Instance的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Create Instance之下
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name:Open Workbook
Business Object: MS Excel VBO
Action: Open Workbook
D. 設定該Action的輸入(Input):
Handle屬性:拖曳右方的handle到Value中。
File Name屬性:複製前面準備好的Excle檔所在路徑(含檔名)。Shift + Right click > 複製路徑
E. 設定該Action的輸出(Output):
Workbook Name的Store In 點擊方塊小圖以使用預設Workbook Name(此時右邊的資料類型於Text中增加一個Workbook Name的分支)
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Open Workbook的Action:
該Action旁邊有剛剛點擊預設產生的資料暫存(DataItem): Workbook Name。
6. Read An Excel讀取Excel的 Action
(1). 於Open Workbook 的Action之下複製一個Action,名稱為: Open Workbook
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook之下
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Read An Excel
Business Object: MS Excel VBO
Action: Get Worksheet as Collection
D. 設定該Action的輸入(Input):
Handle屬性:沿用之前的設定[handle]
Workbook Name屬性:從右方資類型Text的分支Workbook Name拖曳到Value中。
WorkSheet Name屬性:輸入Excel中資料頁籤的名稱。前後要加雙引號。本次為”工作表1”。
E. 設定該Action的輸出(Output):
Data的Store In 點擊方塊小圖以使用預設Data (此時右邊的資料類型於Collection中增加一個Data的分支)
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Get Worksheet as Collection的Action:
該Action旁邊有剛剛點擊預設產生的資料暫存(Collection): Data。
7. Close Workbook關閉工作簿的 Action
(1). 於Read An Excel的Action之下複製一個Action,名稱為: Read An Excel
A. 點選Read An Excel的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Read An Excel之下
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Close Workbook
Business Object: MS Excel VBO
Action: Close Workbook
D. 設定該Action的輸入(Input):
Handle屬性:沿用之前的設定[handle]
Workbook Name屬性: 沿用之前的設定[Workbook Name]。
Save Data屬性:可暫不輸入。
E. 設定該Action的輸出(Output): 此部分可暫不設定。
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Close Workbook的Action:結果如下。
8. Close Instance關閉實例的 Action
(1). 於Close Workbook的Action之下複製一個Action,名稱為: Close Workbook
A. 點選Close Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Close Workbook之下
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Close Instance
Business Object: MS Excel VBO
Action: Close Instance
D. 設定該Action的輸入(Input):
Handle屬性:沿用之前的設定[handle]
Save Data屬性:可暫不輸入。
E. 設定該Action的輸出(Output): 此部分可暫不設定。
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Close Instance的Action:結果如下。
9. 將流程串起並執行,看結果。
(1). 串起流程:
於左邊流程圖示工具區點擊一個Link,並將Start開始、接續的Action與End結束用Link串起來。
(2). 執行流程:
點擊左上角的三角形執行圖示,即開始執行流程。
(3). 檢視結果:
由於Excel的頁籤讀取到Data的Collection中,因此點擊該Collection,即可看到讀取到的Excel 指定頁籤內的所有內容。
有沒有一點面熟,
當然,幾天前拯救貧窮大作戰才見過類似的作法讀取Excel檔喔!
有注意到嗎?
之前是用Process來設計流程,
這次從Object中設計流程,
產生新的Action的方式可以是重新拖曳重新產生,
也可以是複製上面的Action直接改寫,
是不是既方便又省時。
雖然是首次使用Object來設計流程,
也算是小小的複習流程。
但,只有複習總讓人意猶未盡、流連忘返,
總有人的好勝與好學心激勵想要學新的,這邊從來沒讓人失望過。
由於我們常常會因為想要在別的主機上重現神蹟。。。
(例如:上課的程式,希望下課後能在家電腦重現,並能更加精進)
因此匯出(Export)流程的好機制就在所難免會被普羅大眾急切拜求。
以剛剛的例子來看,可以如下做法:
File > Export >This Business Object
此時系統就會要求輸入*.bpobject的檔案名稱。
產生匯出檔後,到指定路徑去找就可看到。
為何BP在流程設計上需要區分Process與Object呢?
Object顧名思義是讓其他流程可引用(或稱 重複使用)。
軟體重複使用
(Software Reuse)
是指在建置新的軟體系統過程中,對已存在的軟體產品(設計結構、原代碼、文檔等)重複使用的技術。節錄自MBA智庫百科
夜色已深,容我賣個關子,後面有機會再來談重現設計(匯入Import)的部分。