RPA 實作|透過 UiPath 實現 Excel 自動化

以 〈Complete UiPath RPA Developer Course: Build 7 Robots〉課程的第三個實作為基礎

RPA 數位優化器
6 min readDec 23, 2021

Excel 方方正正的表格型態優勢非常適合使用 UiPath,加上工作場合中,Excel 表格也經常被用來儲存顧客資料、管理貨品庫存,甚至先前介紹網路爬蟲的系列文章<RPA 實戰應用|五分鐘帶你看懂電商產業背後的爬蟲機器人>,所抓下來的資料,也可以在經過整理後以 Excel 的方式輸出結果。

由此可見,學習、熟悉 UiPath 中有關 Excel的相關功能,將能夠幫助員工減輕許多重複性動作、搜尋目標資料、甚至挪動資料等等的任務,提升整體工作效率,進而掌握自己工作節奏。

本次的分享以 Udemy 上的〈Complete UiPath RPA Developer Course: Build 7 Robots〉課程中第三個實作為基礎,加以延伸概念還有過程中比較容易犯錯的地方,希望可以幫助大家解決製作RPA機器人過程中遇到的問題。

RPA實作分享|透過UiPath實現Excel 自動化

專案說明

在這個專案實作中,我們將進入到一個名為 rpachallenge 的網站,並可以看到一個類似報名系統的畫面(如下圖),主要任務是要將十筆 Excel 的資料,按照標題名稱填入,另一個可能會面臨到的任務是,每填入一筆資料格子就會換位置。因此,做完專案之後,你將可以學習到:

  1. 將 Excel 內容資料,轉移或填入到目標網頁中。
  2. Excel 表格資料讀取、變數設定、變數型態的重要性。
  3. Anchor base 的概念和屬性設定。
RPA 專案實作畫面

如何在UiPath上實現Excel的流程自動化?課程中第三個機器人專案練習,就可以帶你手把手地實現將 Excel 中的人事資料移轉到網頁上的某個系統,牽涉到開啟網頁、選取表格範圍、到最後逐列讀取資料的技巧,還有一個重要且不易理解的概念就是Anchor(錨定),因此會在本篇文章特別說明,並且補充兩個常混淆的 UiPath Excel 功能。

這樣的練習可以在甚麼工作場景運用到呢?

舉例來說,如果身在一個人資部門,要幫公司的同事們報名路跑活動,為了避免手動輸入資料過程發生錯誤,或許這個機器人就可以幫助你完成任務。

文章看到這邊,不妨先想想這樣的 RPA 應用,是否也可以結合自身哪些業務呢?所以建議大家別急著往後看文章,可以先自己嘗試看看,等做完了再回來把文章的下半部看完,相信你將會得到更多不一樣的觀點。

UiPath Excel 常使用到的 Activities

如下圖所示,這些是透過 UiPath 實現 Excel Automation 常用的 Activities,多數的功能使用起來均相對直覺,因此將另外著重所框選起來,較須特別注意的三個 Activities,來和大家進行分享和介紹:

Anchor _基本介紹

Selector 是 UiPath 中用於辨識 UI 元素(UI element,可以先當作是 UiPath 系統中可以辨識的元件)的方式,藉由設定其屬性可以讓 UiPath 找出唯一指定的元素。

由於它的方式會用到 XML字串符,除了跟 low code 的本質牴觸之外,也可能會有點複雜以至於寫出來的 Selector 不夠穩定,無法順利地找到唯一的指定元素,所以 UiPath 提供 Anchor base 解決上述的兩個問題,也保留 XML 的方式因應來自不同背景的使用,整體的彈性更高。

Anchor 本來中文的翻譯是船錨,用來固定停泊在岸邊的船隻,避免被浪帶走,採用「不漂走、固定」的概念,來找到唯一的目標。

Anchor Base Activity:是一個 Container,根據想要搜尋的目標來找尋相對應的 UI element,並且執行指定的動作,也就是說在 Container 中包含兩個活動,一個是 Target,另一個則是 Action。Target 是想要把錨放在哪個位置,方便 UiPath 去找;而 Action 則是找到 Anchor 之後,要採取甚麼動作,比方說填入資料還是按下 click。

示意圖_Anchor base container中,要分別放入目標(左)以及我們要填入的資料(右)
示意圖_Anchor base container中,分別放入目標(左)和我們要填入的資料(右)

Anchor position:屬性設定中,表示 Anchor 要放在 UI element 的上方、下方、左邊、或者右邊。這個例子是會不斷變動位置,所以選擇 Auto。

延伸閱讀:低代碼(low code)平台基本介紹

額外補充:兩個易混淆的 UiPath Excel 功能

Get raw item:從 For Each Raw in Data Table 每一列的資料會暫存成一個空間預設是 CurrentRaw,在屬性中定義行的名稱(column name, header),當把第幾列和第幾行定義完成後,就可以順利從 Excel 擷取出要的資料。

Excel read range 和 workbook read range 的差別:當搜尋 read range 時,會出現兩個不同的下拉選單(下圖),功能和屬性設置大同小異。但在 Excel 底下的 read range 是須在 Excel Application Scope 這個活動下,因此一開始就已設定好目標的 xlsx 檔案路徑,只需選擇分頁即可。另外須特別注意的是 workbook 底下的 read range 必須先將 Excel 關掉後才能正常執行。

圖:兩者功能下的Read Range功能沒有差別,但有適用的場合,使用正確才能確保Robot不會出錯。

專案回顧與總結

跟著影片做仍然會有些細節被忽略,因此也分享實作時容易犯的錯誤,讀者自行操作時可以留意,或者遇到問題時能夠有解決的方向。

  1. 變數(Variables)的設定:設定電話的變數時,預設是字串(string),但嘗試過後發現用 Generic value 變數型態才有辦法執行。
  2. 中文版使用者打開Excel的預設活頁簿名稱是工作表1,如果使用英文版的UiPath,要留意將Read range中的位置設定sheet1改成工作表1。

Generic 通用值變數:可以儲存任何類型的數據,適合用在當你不確定數據類型的時候。

如果你/妳喜歡這篇文章,歡迎透過拍手,讓我們更有動力寫下去!
這次的分享到此告一段落,想了解更多RPA在數位轉型過程中所扮演的角色、UiPath操作技巧與實務應用,以及數位轉型相關趨勢與心得,歡迎追蹤RPA數位優化器的臉書粉絲專頁與我們互動,我們下次見!
🚀 臉書粉絲專頁傳送門:RPA數位優化器

--

--

RPA 數位優化器

我們是以「RPA機器人流程自動化」為主題的中文學習社群,旨在分享RPA相關學習資源、應用實例以及最新發展趨勢,讓每位工作者能透過各項數位工具的有效應用,創造數位優化與轉型契機。