[基本] 使用 Power Automate 將收到相同的附件自動存放至 OneDrive for Business 內

我們日常工作中可能時常收到相同檔案名稱的檔案。

檔案可能是我們需要留存的資料, 故我們可能需每日手動下載檔案後修改檔案名稱再存放至 OneDrive for Business。

以上動作是否覺得麻煩又耗時? 

本文將說明如何自動將附件存放至 OneDrive for Business 並且根據時間命名檔案名稱。

概述

若我們工作中有那麼一個情景

時常收到相同檔案名稱的信件並且需要將該附件進行儲存

根據以上情景, Power Automate 即可簡易地自動化執行與完成更名為收件時間, 並存放至 OneDrive for Business 的情景。

以下將說明我們如何進行設計流程, 並含有多個附件時怎麼處理。

正文

首先, 我們需使用收到信件時為 Power Automate 的執行 Trigger, 然後設定為有收到附件時進行執行。

除此之外, 個人建議補上從寄件者與主旨內容, 以增加驅動範圍精準度。

然後補上我們需使用的變數。 因後續我們將需使用迴圈, 但我們無法在迴圈內初始化變數, 故我們需在這裡事先設定我們所需變數。

為了方便辨識, 需記得重新更名 Action 的名稱

第一變數為: TimeSpam, 格式為 String。 主要使用在檔案名稱的重新命名上。

我設計的時間為本地時間, 如下:

formatDateTime(convertTimeZone(utcNow(),'UTC','Taipei Standard Time'), 'yyyyMMddHHmm')

第二變數為: 標記, 格式為 Integer, 值為 0。 主要是為了確認附件可以隔開, 相同名稱建立時將會被覆蓋。

第三變數為: 查詢副檔名, 格式為 String, 值為空白。 主要後續可以確認副檔名是否正確。

第四變數為: 檔案名稱, 格式為 String, 值為空白。 主要是供命名設計使用。

完成變數設計後, 我們新增一個迴圈。  範圍將使用 Outlook 的 Attachment。 

設計時需指著 Attachments 確認內容為 triggerOutputs()?['body/attachments']。

完成迴圈後, 在迴圈內新增一個設定變數的 Action 並使用方程式確認我們附件的副檔名是否為我們所需要的檔案。 

如這裡我使用的是 Excel 以前的格式 xls, 方程式取得設計如下:

last(split(items('Apply_to_each')?['name'],'.'))

完成查詢設計後增加一個判斷確認副檔名是否為 xls。 若是,執行其他動作; 若否, 不執行動作。

若是時我們增加我們的標記, 間隔為 1。該工作主要是確認我們檔案命名時不會重複, 並且判斷是否命名需要補 0。

完成標記設定後, 我們新增一個判斷式確認是否有超過 10。

若超過 10, 我們的命名組成將不增加 0, 且為我們 TimeSpam 時間加上標記數字與副檔名。 我設計的方程式如下:

concat(variables('TimeSpam'),variables('RemarkNumber'),'.xls')

若沒有超過 10, 我們的命名組成將增加 0, 且為我們 TimeSpam 時間, 加上 0, 加上標記數字與副檔名。 我設計的方程式如下:

concat(variables('TimeSpam'),'0',variables('RemarkNumber'),'.xls')

完成命名設計後, 建立需要存放至 OneDrive for Business 位置的動作, 並選擇 OneDrive for Business 需存放的位置,  我們重新設定的檔案名稱與附件內容。 

這裡需留意的是檔案所直接選擇預設內容需留意方程式為: items('Apply_to_each')?['contentBytes']。 

以上動作都完成後, 我們流程將呈現如下:

而我們實際成果:

當我們收到信件時

Power Automate 將自動完成流程

完成後, 我們即可在我們 OneDrive for Business 內看到該檔案。 這時我們可以發現檔案名稱的時間幾乎接近我們收到信件的時間:年月日時分 + 標記 + 副檔名。

結語

以上情景除了讓我們可以節省時間外, 也更方便許多, 因為我們無須每個信件開啟後重新下載與命名。  除此之外, 我們還能根據時間後統一的命名我們還能安排其他後續執行。

如檔案可能是系統自動產出賬單。 因我們命名的方式為時間, 故我們可利用時間來判斷檔案為何時, 並且可在指定時間裡驅動流程統一自動執行輸入至系統上或其他處理。

這樣一來除了避免重複動作外, 我們還能防止執行上的錯誤, 如命名錯誤, 資料輸入錯誤或忘記執行, 提供了我們的工作效率。

 

以上內容為我個人的見解, 並感謝您的閱讀, 謝謝

分級: 入門是認識, 基本是運用, 進階是混合結合
範本是已可下載或可使用的範例, 至於教程當然是學習的結晶