科研項(xiàng)目完成過(guò)程中,前期數(shù)據(jù)收集整理工作量大、耗時(shí)長(zhǎng)。為了將科研人員從繁瑣、單調(diào)、重復(fù)的手工收集資料工作中徹底解放出來(lái),利用WPS表格中VBA工具開(kāi)展編程,實(shí)現(xiàn)了批量處理、智能化提取數(shù)據(jù),快速生成適用范圍廣泛的二維清單表,以應(yīng)用于石文、GeoMap等地質(zhì)繪圖軟件及建模軟件,極大地減輕了科研人員的工作負(fù)擔(dān)、提高了工作效率。
先在Vba編輯器中編寫(xiě)數(shù)據(jù)提取核心代碼。利用單井卡片電子文檔由若干WPS表格文件組成,一個(gè)WPS表格文件包含一個(gè)氣田所有單井的地質(zhì)數(shù)據(jù),實(shí)行1井1表格,每張表格都包含“基礎(chǔ)數(shù)據(jù)”“地層分層”“測(cè)試情況”“油氣水漏顯示”“井身結(jié)構(gòu)洗井液”“天然氣組分分析”“地層水分析”“測(cè)井綜合解釋”等8個(gè)部分?jǐn)?shù)據(jù)信息。由于數(shù)據(jù)信息雖在各表格的單元格位置不固定,但數(shù)據(jù)區(qū)域連續(xù)而不間斷,因此代碼設(shè)計(jì)的關(guān)鍵是利用LIKE運(yùn)算符查找8個(gè)部分對(duì)應(yīng)關(guān)鍵字,以確定每個(gè)部分?jǐn)?shù)據(jù)的起止邊界;然后按照在各WPS表格文件中循環(huán)、在各表格循環(huán)的順序,智能提取所有氣田、所有單井?dāng)?shù)據(jù),生成二維清單表格;最后將編寫(xiě)好的代碼利用VB封裝成COM加載宏并添加到WPS表格程序的功能區(qū)。其中的關(guān)鍵是聲明一個(gè)變量將用于添加功能區(qū)按鈕的XML代碼(自定義功能區(qū)代碼,可用UI工具提前編寫(xiě)完成)連接起來(lái),再用IRibbonExtensibility_GetCustomUI函數(shù)獲得這個(gè)代碼并添加到功能區(qū)。封裝完成后形成的Dll文件需要編寫(xiě)一個(gè)bat文件,運(yùn)行這個(gè)bat文件注冊(cè),就能在WPS表格功能區(qū)看到“基礎(chǔ)數(shù)據(jù)”等8個(gè)部分對(duì)應(yīng)的按鈕,點(diǎn)擊任意按鈕就能執(zhí)行對(duì)應(yīng)數(shù)據(jù)的提取任務(wù)(圖1)。

圖1 程序加載宏命令按鈕截屏圖
以收集四川盆地某研究區(qū)寒武系滄浪鋪組顯示資料作為驗(yàn)證實(shí)例,采用上述方法能在1分鐘內(nèi)完成該研究區(qū)1 600多口井的顯示情況收集,通過(guò)層位篩選,快速整理完成該研究區(qū)滄浪鋪組的顯示資料,導(dǎo)入GeoMap地質(zhì)繪圖軟件中生成油氣水顯示圖,以便于后續(xù)對(duì)滄浪鋪組的儲(chǔ)層研究。該管理模型的應(yīng)用創(chuàng)建,實(shí)現(xiàn)了數(shù)據(jù)提取從人工復(fù)制粘貼到智能化批量提取的轉(zhuǎn)變,相同工作量從過(guò)去的耗時(shí)數(shù)月縮減至目前的幾分鐘,極大地提高了數(shù)據(jù)收集整理的效率。該方法不僅為A1、A2數(shù)據(jù)系統(tǒng)的高效利用開(kāi)辟了更為廣闊的途徑,同時(shí)也為油氣勘探開(kāi)發(fā)工作的數(shù)據(jù)化、信息化、智能化進(jìn)行了有益的探索。