iT邦幫忙

2023 iThome 鐵人賽

DAY 16
1
IT管理

Five mins RPA | 機器人流程自動化系列 第 16

Five mins RPA | 16. Word 大量文件自動處理

  • 分享至 

  • xImage
  •  

Word 大量文件批次處理

接下來說說我們日常生活中最常用到的一個工具 Word,我們在生活中總是會有開報價單需求,或是提供固定樣板的文件給客戶,這過程中總是會花費我們非常多的時間在做複製貼上的動作,假設公司一天平均有 100 名客戶需要開報價單,那我就要根據每個客戶的名字、資訊、訂購商品去重複做報價,這是非常耗費人力且重複的工作內容。因此這時候有 RPA 能夠協助我們處理,就能夠大幅減少我們的人工作業時間。

剛好,我最近在一個網站預訂了機票,他寄了一個 Receipt 給我,我們現在馬上能想像假如我就在這個機票預訂網站工作,但是公司在收據開立上還是人工作業的話,應該可以怎麼處理。

WordL.png

回顧前一天文章:Five mins RPA | 15.PDF Analyzer 全文件處理範例

預先處理 Excel 資料:

在執行訓練之前,我要取用之前講到過的 Excel Analyzer 表格分析模組,有了這項模組以後,我就能夠提取出 Excel 裡面的資料,並且提前先把旅客資料提取出來提供給 Templater 做使用。如果忘記了也不用擔心,接下來還是會簡單說明一下。

  • 首先我們假設這個旅客預訂了兩筆班機

我們現在能夠看到旅客從系統中預訂了兩班班機,航空公司提供了班機內容給我們,簡單打開這個 Excel 表格大概是長這個樣子,但注意這只是簡單的舉例,實際情況還是要根據你的應用情境做改變,此外裡面資料都有重新修改過。

Excel.png

  • 使用 Excel Analyzer 表格分析模組

接下來我們先利用 Excel Analyzer 取得裡面的資料,並且將它輸出成 txt 檔案。我們從 debug 視窗中查看 console.log(input) 的結果,發現兩個欄目都有成功抓取,並且將他們命名為[”Flight”] 輸出為 txt 檔案。

Analyzer.png

  • 前往 WorkSpace

完成後確保 WorkSpace 中有輸出後的 txt 檔案,這邊會出的檔案叫做 「Flight.txt」 ,接下來我們打開後的內容應該要與上方的 Console.log 輸出相同。或者是如果你之前就已經有完成後的資料,也可以直接放入 WorkSpace 資料夾提供 RPA 機器人可以取用。

WorkSpace.png

如果真的有點卡關了,也許回去看看 Excel Analyzer 表格分析模組的文章能幫助到你!

回顧文章:https://ithelp.ithome.com.tw/articles/10318062

開啟今天訓練內容:Templater 模組

  • 開啟 Templater 模組

建立訓練命名技能群組,確保上面的 WorkSpace 已經有檔案後,打開主畫面右邊的Templater 文件模組開始我們今天的訓練。

Templater.png

  • 選擇我們的模板

這邊的意思是,我們要利用哪個模板為基底,這邊我選擇 receipt 這個 word 檔案。

receipt.png

  • 模板內設定

在讓 RPA 自動產生文件之前,需要準備好樣板文件,並把需要動態產生的內容,以變數標示,接下來我們確認模板內的資訊,我們需要動態填入的資料需要把它設定為環境變數,因此我們在動態資料的地方都利用 %info% 百分比來標注,為了更方便閱讀我把它上藍色的標籤。我們可以看到這份資料還有一個特別的地方是表格內還有一個 %#fixltems%,這是專門提供給表格使用的。

  1. 文字變數 : %text%,兩個百分比夾住的變數,就是可替換的內容
  2. 圖片變數 : %img.picName%,百分比夾住的變數名稱以 img. 開頭
  3. 表格變數 : %#fixltems% … %/fixltems% ,這是表格名稱,其他的 Arrived, Time, Flight 為表格的欄位,在替換內容後,會根據資料筆數自動將表格向下延展

word.png

  • 第一階段:填入上面的固定資料 %….%

首先我們先試著填入固定資料,包含訂單編號、姓名、郵件,還有利用 moment().format() 來取得時間區段註記訂票時間。

output["number"] = "264AAAA04"
output["date"] = moment().format("MM/DD, YYYY")+ "(GMT+8)"
output["name"] = "Jerry"
output["mail"] = "juck30808@gmail.com" 
  • 第二階段:填入表格資料 %#…%

接下來我們利用 api.read('Flight.txt') 讀取我們在文章開頭時分析 Excel 資料表後,匯出取得的 JSON txt 文字檔案,但是要注意因為格式為 JSON 所以還需要加入 JSON.parse() 進行轉碼。

//讀取表格資料 
let tableData = JSON.parse(api.read('Flight.txt'))  
console.log(tableData)
output["fixItems"] = tableData
  • 第三階段:計算機票 let 定義

最後我們定義一個變數叫做 ticket_price 來記錄機票的價格,假設這次機票價格為 3901,我就能馬上將變數帶入 [”price”] 中來做替換,那如果說總金額必須包含 500 元的 Taxes&Fee 呢?我們也可以快速從程式中進行數學運算。

let ticket_price = 3901
output["price"] = ticket_price
output["total"] = ticket_price + 500

price.png

  • 點擊輸出後,確認檔案格式

再點擊輸出後會自動跳出 output 檔案,我們打開來確認一下資料是否有成功帶入。一切都非常的好,每個資料都有成功的被加入進去,一張客製化的資料表就這樣完成了!我們可以結束本次的訓練。

output.png

這個世界瘋了,但我們也可以跟著瘋

黃仁勳的一句話讓這個世界都瘋了,身為與數據打交道多年的我們能做些什麼呢? 很簡單就是跟著一起瘋。「You Learn the more, you Get the more.」。沒想到鐵人賽又一年了呢,這篇是 【Five mins RPA】 系列文章除此之外也歡迎大家走走逛逛關於我過去的文章

Jerry Chien

一個正在為 300 多萬訂閱的 Youtuber 服務的資料科學家,擅長將商管行銷導入機器學習與人工智慧,並且從大量的數據中找出 Insight,待過 FMCG、Communication、Digital Marketing,最近一直在資訊圈打滾,趕著不被這波人工智慧浪潮給吞噬,寫文章寫了好一段時間了,期待著這個社會每個人能在各個角力間不斷沖突而漸能找到一個平衡點並回歸最初的初心。


上一篇
Five mins RPA | 15.PDF Analyzer 全文件處理範例
下一篇
Five mins RPA | 17. 自動化模擬桌面操作
系列文
Five mins RPA | 機器人流程自動化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言