运用VBA代码智能化构建单井地质数据管理模型
2022-06-07付红弘,李雪松,郑超等
天然气工业 2022年5期
1.目的
科研项目完成过程中,前期数据收集整理工作量大、耗时长。为了将科研人员从繁琐、单调、重复的手工收集资料工作中彻底解放出来,利用WPS表格中VBA工具开展编程,实现了批量处理、智能化提取数据,快速生成适用范围广泛的二维清单表,以应用于石文、GeoMap等地质绘图软件及建模软件,极大地减轻了科研人员的工作负担、提高了工作效率。
2.方法
先在Vba编辑器中编写数据提取核心代码。利用单井卡片电子文档由若干WPS表格文件组成,一个WPS表格文件包含一个气田所有单井的地质数据,实行1井1表格,每张表格都包含“基础数据”“地层分层”“测试情况”“油气水漏显示”“井身结构洗井液”“天然气组分分析”“地层水分析”“测井综合解释”等8个部分数据信息。由于数据信息虽在各表格的单元格位置不固定,但数据区域连续而不间断,因此代码设计的关键是利用LIKE运算符查找8个部分对应关键字,以确定每个部分数据的起止边界;然后按照在各WPS表格文件中循环、在各表格循环的顺序,智能提取所有气田、所有单井数据,生成二维清单表格;最后将编写好的代码利用VB封装成COM加载宏并添加到WPS表格程序的功能区。其中的关键是声明一个变量将用于添加功能区按钮的XML代码(自定义功能区代码,可用UI工具提前编写完成)连接起来,再用IRibbonExtensibility_GetCustomUI函数获得这个代码并添加到功能区。封装完成后形成的Dll文件需要编写一个bat文件,运行这个bat文件注册,就能在WPS表格功能区看到“基础数据”等8个部分对应的按钮,点击任意按钮就能执行对应数据的提取任务(图1)。……
登录APP查看全文
