在Day12.說完每日檢查之後,就來說下要怎麼把兩個格式一樣的Excel檔案合併為一個吧!
這邊會這樣做,主要是因為要做虛擬機的清單,但由於我們家的vSphere是用兩台實體機組成的叢集,所以分別從兩台主機匯出的虛擬機清單都是各自獨立的(記得三台組成Vsan以後就不用這樣了)!
但是我又不想要查的時候還要分別開啟兩個檔案,也很懶得每次都要手動開兩個檔案做複製貼上。
所以就來做了個自動化流程,讓機器人幫我做合併吧!
首先這次要做的流程總共有這些:
基本上後面標II的都是用I的複製來改的,畢竟要做的事情都一樣!
至於為什麼分成I & II呢?
除了是兩個檔案的資料合併在一個檔案以外,我也曾試圖想用一個流程就處理掉這部分,但……可能是功力不足,怎樣都是出來一些阿里不達的表啊…
所以就只好用笨方法,一碼歸一碼,把兩個檔案的寫入分開來做了!
Main其實就只是呼叫CreateExcel子流程而已。
而CreateExcel子流程才是負責統合執行各種大小事務用的:
流程一開始就是要新開一個”空白文件”(新檔):
然後呼叫OpE_I子流程:
這流程就是用來開啟匯出的第一個虛擬機清單檔案用的!
這裡大部分的操作在前天把資料寫入Excel表時都操作過了,比較大的差別就是在”讀取自Excel工作表”這一個動作!
之前都是找到可以寫資料的空欄位,但這次則是要取空欄位之前,所有有資料的欄位中的值,並把這個清單寫到ExcelData變數中。
不知道有人還記得前幾天說到空欄位的概念嗎?
系統是會去找有數值欄位的後面一個空的欄位,所以有資料的欄位就是空欄的前一個囉!
所以依照往後是+,往前是-的原則,這邊不管是欄還是列的設定才會都是-1。
然後呼叫WDTE_I子流程,把資料寫入新開的Excel表中,並關閉OpE_I中開啟的Excel檔案。
然後流程就會回到Main,並執行OpE_II,將本上OpE_II和OpE_I的差別就是開啟的Excel檔案以及變數設定不同!(要切記,不要設定成使用同一個變數,會出4……)
WDTE_II子流程,主要是找到在WDTE_I寫入資料後的空欄位,在把資料依序從首欄繼續寫入:
到這邊,Day13也就結束啦!