在一般工作中,常有重複性且有規則性的作業,Beast J剛接觸到Power automate這個類似腳本機器人的軟體,模索了一陣子後,在這會慢慢與大家分享一些實例,此篇介紹如何從網頁中擷取文字,並填入excel中,範例情境,我想在網路上抓取每支股票的價位,並且填入我的excel表中,如下表,大致流程如下圖所示,以下將一步步教大家如何使用power automate desktop達成。
步驟一 、Excel讀取資料
啟動Excel並開始檔案位置,系統將自動將叫出的excel檔案變數命名為ExcelInstance
代碼第一筆資料未於第一行、第二列,故先設定兩個變數並分別帶入初始值,接著讀取excel資料並設定欄與列的位置,讀取出來的代碼就會存到ExcelData內。
步驟二、網頁搜尋並讀取價位
開啟網頁觀察,可以發現網址的部分以代號區分,例如查詢0056價位,往只會顯示最後4碼會顯示0056,查詢0050的話,網址最後4碼也會變更為0050,其餘字元不會改變,依照這個規則,我們再開啟網頁功能的時候,將URL網址後面4碼更改成我們到的ExcelData代碼資料,這樣就會前往我們讀到代碼的網頁。
(圖片來源: (0056)元大高股息 個股市況總覽 – Goodinfo!台灣股市資訊網)
接著我們想擷取網頁中成交價的文字,插入功能”從網頁擷取資料”後將滑鼠移動到網頁成交價的地方,此時會彈出一個即時網頁助手視窗,並在成交價的地方會有紅框跳出來,點右鍵選取”文字”,此時即完成讀取網頁資料,並存在DataFromWebPage變數中。
步驟三、價位填入Excel指定欄位
插入”寫入Excel工作表”功能,須帶入的值是我們剛剛讀取到DataFromWebPage的值,下方的行值,因為填入的值都位在固定的第二行,故填入數字2,代號變更時,位置會變動的是列,故此處我們使用變數%row%,此時就可以把我們第一筆資料的價位完成填入。
步驟四、使用迴圈陸續填入其他資料
我們先插入迴圈功能,在”讀取自Excel工作表前”,並讓他重複執行100次,將迴圈的”END”拉至最後,中間的步驟會執行100次,因為我們想接著讀取並寫入第二筆資料,故在”寫入Ecel工作表”後面,插入”增加變數”,增加的變數為列,這樣就會每執行完一次,會讀取下一列的代碼,依序查詢與填入我們填入的股票代號與價位。
步驟五、用If判別是否結束
因前面使用迴圈來依序動作,查詢的數量假設不固定的狀態底下,在執行100次後會停止迴圈,但這樣會耗費大量的等待時間,這裡我們設定,如果我們讀取的代碼資料是空白的,就停止迴圈動作,插入”If”功能,設定ExcelData讀到的值是空的條件,接著插入”結束迴圈”,這樣的狀態下,在沒有讀取到代號時,就回停止迴圈動作,完成全部的價位查詢。
最後記得關閉網頁與儲存Excel檔案,以下附上整個流程,如有其他問題,歡迎留言或email討論。
Discover more from My BeastJ Life
Subscribe to get the latest posts sent to your email.
最近開始想學Power Automate Desktop
依您的教學分享試著做,成功了
謝謝您
非常感謝您的回覆!
能夠幫助到您是我繼續寫下去的動力!
我又重做了三遍,因為power automate desktop流程全不見了,只好重做一遍,又全不見了,只要重新整理或另存新檔,都會不見….心血都沒了;這真的很嚴重的問題!我網路上一直在找問題解決的方式,但都找不到?我開始懷疑人生了,大家都沒有遇到這問題嗎?沒事…還在尋找答案中