當過主管或小組長的人,多少都遇過的經驗,
收集大家的日報Excel檔資料時,以往都是一個一個檔案打開,
一個一個移到指定的工作表並開始一連串的複製貼上的工作,
管理一兩個人或許還可以容忍,若是幅員廣大或同學眾多,
常常一個複製貼上讓我們懷恨到天明啊!
BP改變流程Excel另存新檔
BP合併兩張報表
目的: 兩個Excel 檔中的內容,合併置入到指定工作表。
Tony表哥再度提到其實每個月都需要有月結報表,因此最令他困擾的就是打開一堆Excel檔案,
把內部的團購清單併到一個Excel檔案中。
以下我們就來看看「合併兩個Excel資料表資料」,Blue Prism 如何做到?
1. 作業前準備:沿用之前資料表,並複製出另一個相同的檔案。
沿用之前的Excel,若沒有請準備2個工作表:
檔名調整如下: 今日公報.xlsx、今日公報02lsx
2. 沿用前一個實作的Process並作調整: ExcelTest
(1). 啟動Blue Prism雙點擊Process: ExcelTest,將開啟Process的編輯畫面。
3. 準備好本次需要的流程項目(將與本次不相干的Action移到目前檢視區域外)
(1). 除了要留下的流程其餘多餘的流程暫時斷開,滑鼠到Link按右鍵,點Delete,即可刪除連結。
(2). 刪除多餘的流程Action的Link後,主軸即剩下本次需要的項目。
4. Get Worksheet As Collection將工作表暫存到集合中的 Action
(1). 於Open Workbook的Action之下複製一個Action,名稱為: Open Workbook (為讓流程不要擠在一起,請拖曳調整一下兩個Action)
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook下方
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Get Worksheet As Collection
Business Object: MS Excel VBO
Action: Get Worksheet As Collection
D. 設定該Action的輸入(Input):
Handle屬性:拖曳右方的handle到Value中。(或沿用剛才複製Action的屬性)
Workbook屬性: 拖曳右方的Workbook Name到Value中。
Worksheet屬性: 輸入”工作表1”。
E. 設定該Action的輸出(Output):
Data屬性: 輸入”A-Collection”,並按下Store In中的斜方塊,此時Collection分支出現相同名稱的集合。
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
G. 按下OK,新增完成該Action:
5. 調整並複製一份Create Instance、Open Workbook、Get Worksheet As Collection到原Actions旁,並陸續調整其Action內部屬性以符合第二個工作表擷取資料需求
(1). 調整點擊右方的Create Instance準備調整其屬性資料
(2). 設定該Action的輸入(Input):此部分照舊,暫不調整。
(3). 設定該Action的輸出(Output):
Hendle屬性:Store In輸入handle2,按下斜方塊鈕,右方Number出現相同名稱handle2的分支。
(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
6. 調整第二個 Open Workbook以符合第二個檔案工作表開啟
(1). 調整點擊右方的Open Workbook準備調整其屬性資料
(2). 設定該Action的輸入(Input):
Handle屬性:拖曳右方Numbers的分支handle2到Value中。
File Name屬性: 輸入新複製出來調整的Excel檔名與檔名所在路徑。
(3). 設定該Action的輸出(Output):
Workbook Name屬性:Store In輸入Workbook Name2,按下斜方塊鈕,右方Text出現相同名稱Workbook Name2的分支。
(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
7. 調整第二個 Get Worksheet As Collection以符合第二個檔案工作表資料取得
(1). 調整點擊右方的Get Worksheet As Collection準備調整其屬性資料
(2). 設定該Action的輸入(Input):
handle屬性: 從右方的Numbers分支拖曳handle2到Value中。
Workbook Name屬性: 從右方的Text分支拖曳Workbook Name2到Value中。
Worksheet Name屬性:沿用預設”工作表1”。
(3). 設定該Action的輸出(Output):
Data屬性:Store In輸入B-Collection,按下斜方塊鈕,右方Collections出現相同名稱B-Collection的分支。
(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
8. Merge Collections將兩個集合合併的 Action
(1). 於最右邊的Open Workbook的Action旁複製一個Action,名稱為: Open Workbook (為讓流程不要擠在一起,請拖曳調整一下兩個Action)
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook旁邊
B. 開啟旁邊的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Merge Collections
Business Object: Utility-Collection Mainipulation
Action: Merge Collections
D. 設定該Action的輸入(Input):
Collection1屬性:拖曳右方的Collection分支A-Collection到Value中。
Collection2屬性:拖曳右方的Collection分支B-Collection到Value中。
E. 設定該Action的輸出(Output):
Collection3屬性: 輸入”MergeCollection”,並按下Store In中的斜方塊,此時Collections分支出現相同名稱的集合。
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
9. Write Collections將集合寫入Excel中的 Action
(1). 於最右邊的Open Workbook的Action旁複製一個Action,名稱為: Open Workbook (為讓流程不要擠在一起,請拖曳調整一下兩個Action)
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook旁邊
B. 開啟旁邊的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
C. 設定屬性資訊(依照如下屬性設定)
Name: Write Collections
Business Object: MS Excel VBO
Action: Write Collections
D. 設定該Action的輸入(Input):
handle屬性:拖曳右方的Numbers分支handle到Value中。
Collection屬性:拖曳右方的Collection分支MergeCollection到Value中。
Workbook Name屬性:拖曳右方的Text分支Workbook Name到Value中。
Worksheet Name屬性:輸入”工作表2”到Value中。
Cell Reference屬性:輸入”A1”。
E. 設定該Action的輸出(Output): 可暫不輸入。
F. 設定該Action的條件(Conditions): 此部分可暫不設定。
10. 調整Close Instance關閉兩個Excel檔案
(1). 調整點擊Close Instance準備調整其屬性資料
Name 屬性:Close All Instances
Business Object屬性:MS Excel VBO
Action屬性:Close All Instances
(2). 設定該Action的輸入(Input):可暫不輸入。
(3). 設定該Action的輸出(Output):可暫不輸入。
(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
11. 按下OK,將流程串起並執行(為求整齊與易看可於流程連結中加入錨點,看結果。
(1). 串起流程:
於左邊流程圖示工具區點擊一個Link,並將Actions用Link串起來。
(2). 為令Excel關閉順利,另加入兩個Action(Close A Workbook、Close All A Instance)
為讓個人練習就不再詳述。
(3). 執行流程:
若已執行過,建議先按下Reset按鈕(循環圖示),再按下執行圖示。
點擊左上角的三角形執行圖示,即開始執行流程。
(4). 檢視結果:
開啟Excel檔後,可看到工作表2的內容包含兩個檔案工作表合併後的內容。
目前除了主軸的設計流程外,
若有延伸的項目,會於提醒事項區塊提醒大家。
提醒事項
錨點(Anchor):
有時候流程圖的link可能糾結或斜列,造成流程圖不易檢視,此時可以運用錨點讓流程圖較為工整美觀。
在Blue Prism中,先各別開啟Excel檔,
並將兩個Excel檔工作表的內容暫存到集合(Collection)中,
再批次把合併後的Collection內容寫入指定的Excel中,並做存檔關閉的動作;
其中,關閉Instance的動作很重要,主要因為若未關閉檔案,則檔案處於一直開著的狀態,
若有人要編輯該Excel檔,則無法順利編輯,被提示只能唯讀。
另外,本次的流程較多,且橫向發展的結果可能會讓Link線很混亂,
因此可借助錨點(Anchor),讓設計更為工整好辨識。