iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0

當過主管或小組長的人,多少都遇過的經驗,
收集大家的日報Excel檔資料時,以往都是一個一個檔案打開,
一個一個移到指定的工作表並開始一連串的複製貼上的工作,
管理一兩個人或許還可以容忍,若是幅員廣大或同學眾多,
常常一個複製貼上讓我們懷恨到天明啊!

 前集提要

BP改變流程Excel另存新檔

  1. 新增 Create Workbook(建立工作簿)、新增Create Worksheet(建立工作表):以上兩個Actions會先建立一個可以填寫資料卻尚未存檔的Excel檔。
  2. 新增Save Workbook As(另存新檔):以上一個Action會把填寫完資料的Excel檔案另存指定檔名的檔案。

 本集預告

BP合併兩張報表
目的: 兩個Excel 檔中的內容,合併置入到指定工作表。

Tony表哥再度提到其實每個月都需要有月結報表,因此最令他困擾的就是打開一堆Excel檔案,
把內部的團購清單併到一個Excel檔案中。

以下我們就來看看「合併兩個Excel資料表資料」,Blue Prism 如何做到?
1. 作業前準備:沿用之前資料表,並複製出另一個相同的檔案。
沿用之前的Excel,若沒有請準備2個工作表:
檔名調整如下: 今日公報.xlsx、今日公報02lsx
https://ithelp.ithome.com.tw/upload/images/20210911/20141198VXKsb2aC7L.png

https://ithelp.ithome.com.tw/upload/images/20210911/20141198FwI31OPrJG.png

2. 沿用前一個實作的Process並作調整: ExcelTest
(1). 啟動Blue Prism雙點擊Process: ExcelTest,將開啟Process的編輯畫面。

3. 準備好本次需要的流程項目(將與本次不相干的Action移到目前檢視區域外)
(1). 除了要留下的流程其餘多餘的流程暫時斷開,滑鼠到Link按右鍵,點Delete,即可刪除連結。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198437GLYgvqA.png

(2). 刪除多餘的流程Action的Link後,主軸即剩下本次需要的項目。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198aCwwhJB3hW.png

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下方
https://ithelp.ithome.com.tw/upload/images/20210911/20141198tW61rEVVPG.png
B. 開啟下方的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198muTIuhx1ri.png

C. 設定屬性資訊(依照如下屬性設定)
Name: Get Worksheet As Collection
Business Object: MS Excel VBO
Action: Get Worksheet As Collection
https://ithelp.ithome.com.tw/upload/images/20210911/20141198cV20bOzwWe.png
D. 設定該Action的輸入(Input):
Handle屬性:拖曳右方的handle到Value中。(或沿用剛才複製Action的屬性)
Workbook屬性: 拖曳右方的Workbook Name到Value中。
Worksheet屬性: 輸入”工作表1”。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198XIoh79K7d5.png
E. 設定該Action的輸出(Output):
Data屬性: 輸入”A-Collection”,並按下Store In中的斜方塊,此時Collection分支出現相同名稱的集合。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198PvQ2XPteZC.png

F. 設定該Action的條件(Conditions): 此部分可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198k9HLuPxp8s.png

G. 按下OK,新增完成該Action:
https://ithelp.ithome.com.tw/upload/images/20210911/20141198yvv9FVKi9C.png

5. 調整並複製一份Create Instance、Open Workbook、Get Worksheet As Collection到原Actions旁,並陸續調整其Action內部屬性以符合第二個工作表擷取資料需求
https://ithelp.ithome.com.tw/upload/images/20210911/2014119863uxjhzj7H.png

(1). 調整點擊右方的Create Instance準備調整其屬性資料
https://ithelp.ithome.com.tw/upload/images/20210911/201411984oOayWECoS.png

(2). 設定該Action的輸入(Input):此部分照舊,暫不調整。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198sbA4Fwf0n2.png

(3). 設定該Action的輸出(Output):
Hendle屬性:Store In輸入handle2,按下斜方塊鈕,右方Number出現相同名稱handle2的分支。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198jaPVPAPmhZ.png

(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198JwRBbLFUrc.png

6. 調整第二個 Open Workbook以符合第二個檔案工作表開啟
https://ithelp.ithome.com.tw/upload/images/20210911/20141198LJBYviaFoH.png

(1). 調整點擊右方的Open Workbook準備調整其屬性資料
https://ithelp.ithome.com.tw/upload/images/20210911/201411982UCL31zrhq.png

(2). 設定該Action的輸入(Input):
Handle屬性:拖曳右方Numbers的分支handle2到Value中。
File Name屬性: 輸入新複製出來調整的Excel檔名與檔名所在路徑。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198T5ZTSnzoL9.png

(3). 設定該Action的輸出(Output):
Workbook Name屬性:Store In輸入Workbook Name2,按下斜方塊鈕,右方Text出現相同名稱Workbook Name2的分支。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198HFFe6yTtJC.png

(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/201411981dzufRm42M.png

7. 調整第二個 Get Worksheet As Collection以符合第二個檔案工作表資料取得
https://ithelp.ithome.com.tw/upload/images/20210911/20141198tu11isd6lz.png

(1). 調整點擊右方的Get Worksheet As Collection準備調整其屬性資料
https://ithelp.ithome.com.tw/upload/images/20210911/20141198iqZ7S149yA.png

(2). 設定該Action的輸入(Input):
handle屬性: 從右方的Numbers分支拖曳handle2到Value中。
Workbook Name屬性: 從右方的Text分支拖曳Workbook Name2到Value中。
Worksheet Name屬性:沿用預設”工作表1”。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198GhmrxgEoTx.png

(3). 設定該Action的輸出(Output):
Data屬性:Store In輸入B-Collection,按下斜方塊鈕,右方Collections出現相同名稱B-Collection的分支。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198VjXLiDI7X1.png

(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198mT0AfTaWDf.png

8. Merge Collections將兩個集合合併的 Action
(1). 於最右邊的Open Workbook的Action旁複製一個Action,名稱為: Open Workbook (為讓流程不要擠在一起,請拖曳調整一下兩個Action)
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook旁邊
https://ithelp.ithome.com.tw/upload/images/20210911/201411983C1KCrLOrR.png
B. 開啟旁邊的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198UT0T5mtPnn.png

C. 設定屬性資訊(依照如下屬性設定)
Name: Merge Collections
Business Object: Utility-Collection Mainipulation
Action: Merge Collections
https://ithelp.ithome.com.tw/upload/images/20210911/20141198BEHW9vgAm9.png
D. 設定該Action的輸入(Input):
Collection1屬性:拖曳右方的Collection分支A-Collection到Value中。
Collection2屬性:拖曳右方的Collection分支B-Collection到Value中。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198bQ4PI22hvX.png
E. 設定該Action的輸出(Output):
Collection3屬性: 輸入”MergeCollection”,並按下Store In中的斜方塊,此時Collections分支出現相同名稱的集合。
https://ithelp.ithome.com.tw/upload/images/20210911/2014119804cXiDtnbQ.png

F. 設定該Action的條件(Conditions): 此部分可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198p1hJhyDHzR.png

9. Write Collections將集合寫入Excel中的 Action
(1). 於最右邊的Open Workbook的Action旁複製一個Action,名稱為: Open Workbook (為讓流程不要擠在一起,請拖曳調整一下兩個Action)
A. 點選Open Workbook的Action,Ctrl+c , Ctrl+v產生一個相同名稱的Action到Open Workbook旁邊
https://ithelp.ithome.com.tw/upload/images/20210911/20141198TujwljfgO7.png
B. 開啟旁邊的Action的設定畫面:兩下點擊下方的Action,將出現Action Properties的屬性設定畫面。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198cKSNjjQqmw.png

C. 設定屬性資訊(依照如下屬性設定)
Name: Write Collections
Business Object: MS Excel VBO
Action: Write Collections
https://ithelp.ithome.com.tw/upload/images/20210911/20141198sCvlw76YqU.png
D. 設定該Action的輸入(Input):
handle屬性:拖曳右方的Numbers分支handle到Value中。
Collection屬性:拖曳右方的Collection分支MergeCollection到Value中。
Workbook Name屬性:拖曳右方的Text分支Workbook Name到Value中。
Worksheet Name屬性:輸入”工作表2”到Value中。
Cell Reference屬性:輸入”A1”。
https://ithelp.ithome.com.tw/upload/images/20210911/201411982FZPuD29Ua.png
E. 設定該Action的輸出(Output): 可暫不輸入。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198QVZdgOrpUw.png

F. 設定該Action的條件(Conditions): 此部分可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198w5jyy74t7F.png

10. 調整Close Instance關閉兩個Excel檔案
https://ithelp.ithome.com.tw/upload/images/20210911/20141198sk2UAlGQEY.png

(1). 調整點擊Close Instance準備調整其屬性資料
Name 屬性:Close All Instances
Business Object屬性:MS Excel VBO
Action屬性:Close All Instances
https://ithelp.ithome.com.tw/upload/images/20210911/20141198VzGxBwEoxh.png
(2). 設定該Action的輸入(Input):可暫不輸入。
https://ithelp.ithome.com.tw/upload/images/20210911/2014119829FTKDVszy.png

(3). 設定該Action的輸出(Output):可暫不輸入。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198DLMah8GWm4.png

(4). 設定該Action的條件(Conditions):此部分照舊可暫不設定。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198nVbBPnKDKS.png
11. 按下OK,將流程串起並執行(為求整齊與易看可於流程連結中加入錨點,看結果。
(1). 串起流程:
於左邊流程圖示工具區點擊一個Link,並將Actions用Link串起來。

(2). 為令Excel關閉順利,另加入兩個Action(Close A Workbook、Close All A Instance)
為讓個人練習就不再詳述。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198Tm8RKQW9HJ.png

(3). 執行流程:
若已執行過,建議先按下Reset按鈕(循環圖示),再按下執行圖示。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198e4rQY7wUCq.png

點擊左上角的三角形執行圖示,即開始執行流程。
https://ithelp.ithome.com.tw/upload/images/20210911/201411987kBWKAzk5x.png


(4). 檢視結果:
開啟Excel檔後,可看到工作表2的內容包含兩個檔案工作表合併後的內容。
https://ithelp.ithome.com.tw/upload/images/20210911/20141198RcQwFqBT9o.png

目前除了主軸的設計流程外,
若有延伸的項目,會於提醒事項區塊提醒大家。

 提醒事項

錨點(Anchor): https://ithelp.ithome.com.tw/upload/images/20210911/20141198PQqPCXy8QW.png
有時候流程圖的link可能糾結或斜列,造成流程圖不易檢視,此時可以運用錨點讓流程圖較為工整美觀。

在Blue Prism中,先各別開啟Excel檔,
並將兩個Excel檔工作表的內容暫存到集合(Collection)中,
再批次把合併後的Collection內容寫入指定的Excel中,並做存檔關閉的動作;
其中,關閉Instance的動作很重要,主要因為若未關閉檔案,則檔案處於一直開著的狀態,
若有人要編輯該Excel檔,則無法順利編輯,被提示只能唯讀。
另外,本次的流程較多,且橫向發展的結果可能會讓Link線很混亂,
因此可借助錨點(Anchor),讓設計更為工整好辨識。


上一篇
Day10. 如何收拾需求變更的Boss,Blue Prism的降臨 -BP改變流程Excel另存新檔
下一篇
Day12. 颱風天神出鬼沒的Blue Prism-BP合併表格結果(改良版)
系列文
Blue Prism 精靈之手與神同行之防疫特助30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言