在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也就結束啦!

 

文章標籤
全站熱搜
創作者介紹
創作者 PIZZ不是PIZZA啦 的頭像
PIZZ不是PIZZA啦

PIZZ不是PIZZA的IT(挨踢)人生

PIZZ不是PIZZA啦 發表在 痞客邦 留言(0) 人氣(6)