昨天說到傳送郵件的部分,今天就來說說要怎麼把想要的東西寫入Excel吧!
流程如下:
老樣子,因為我在存檔時會在檔名中加上日期,所以一樣呼叫Getdatetostr子流程來取得作為檔名用的日期。
接著在啟動Excel這邊,因為我是要一直寫在同一個檔案中做紀錄,所以我的設定是”並開啟後續檔案”,而不是”空白文件”!
如果使用”空白文件”的話會每次執行都會另存一個新檔喔!
文件路徑的部分也要填寫完整的檔案路徑及副檔名,不然會打不開或存成沒有副檔名的檔案!!
在啟動了Excel之後,就是指定我要寫在哪個工作表(Sheet)中了。
這邊是指定Error Message工作表,如下:
所以其實是可以在不同流程中,將資料寫入同一個檔案的不同工作表的!
再來就是要讓機器人找到沒有資料且可以寫入資料的”第一個空欄位”啦,所以使用原本就有在”動作”清單中的功能:
說明:
FirstFreeColumn是欄(橫的,1、2、3…等)
FirstFreeRow是列(直的,A、B、C…等)
但是對於第一個空欄位的認知部分,我和PAD機器人的認知是有點不太一樣的,如下:
機器人的認知是:
只要那列(如:A)有資料,就是往後一列(如:B)。
只要那欄(如:1)有資料,空的列就是往下一欄(如:2)。
所以有資料的那欄有多少列,在使用寫入動作時就要把列(FirstFreeColumn)減回來多少個。
我用來紀錄的Excel檔案的第一欄如下:
由於機器人的判斷,第一個空的欄位其實是D2。
這判斷中,列2是沒錯的,但欄D不是我要的!(我要的是欄A,也就是A2)
而欄D是第4個欄。
所以當我要機器人把資料寫在第二列第一欄的資料時,我就要把資料行設定為%FirstFreeColumn -3%;這樣機器人才會在A2欄寫入第一個我想要的資料(日期)。
將資料寫入B2欄時,資料行設定就要改為%FirstFreeColumn -2%:
C2就是%FirstFreeColumn -1%
以此類推!
這樣讓機器人執行完流程後,就可以讓我得到想要的紀錄了。(真是太棒了!)
當然最後可別忘了要關閉Excel檔案並存檔喔,不然最後可是不會有紀錄的!
當RecodinginexcelforXXXX子流程完成並結束後,就會自動回到CheckingXXXXServer子流程,並繼續往下跑流程了。
但我想做的事情已經都完成了,所以最後就只要在CheckingXXXXServer子流程終將遠端桌面連線給關掉就可以了。
對於啟動PAD的本機來說,遠端桌面連線也是一個”視窗”,所以就用”關閉視窗”這個動作,並新增UI元素,再選到遠端桌面連線中”X”(關閉)的UI元素就可以了!
最後按一下視窗中的UI元素的原因是,在關閉遠端桌面連線時,系統會跳出確認訊息。
如果不點選可是關不掉視窗的呢XD…
所以就讓機器人控制滑鼠去點確認按鈕一下吧!
到這邊,第九天就要結束了!
今天的難點主要在於Excel寫入資料前要取得空欄位的部分,機器人的認知和我的認知差異的部分;但老實說,也沒有到非常難懂啦!(入門書裡面也有教。)
這邊會用到的動作如下: