Oh! You closed up the window, so you cannot see raining

[IDAS+] Optimize Summary Table Function

前言 在做 WAT 量測後的資料處理時,IDAS 老舊的 VBA macro 執行時間實在過於久,且佔用大量的記憶體,於是就下了一個命題,想減少產生報表的時間。 想法 通常量測多片 wafer 的狀況下,不同 wafer 的排列順序是一致的,如果可以加入 Java 中 HashMap 的資料結構來處理 VBA 中 Lookup(),便可大幅減少 summary table 時,對 rawdata 做搜尋的時間。 令時間複雜度從\(O(n)\)進步到\(O(1)\)。 做法 產生 Dictionary 物件 由於 VBA 預設並沒有 Dictionary 的物,所以需要用 CreateObject("Scritping.Dictionary") 的程式碼,引入 Dictionary。 其 Dictionary 物件的 method 可參考 Microsoft 的文件:點此 在此先預先定義一個 function setDict() 可以對初始化 Dictionary。 接著宣告兩個 Dictionary 物件來存取 spec 和 data 工作頁的列數(row)。 Dim SpecDict As Object ' Claim a dict to store spec rows in worksheet SPEC....

<span title='2022-04-14 00:39:50 +0800 +0800'>April 14, 2022</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Rain Hu