劉慧霞,向紅利
基于Excel VBA的灌漿成果表整理程序的開發(fā)
劉慧霞,向紅利
(衢州市水利水電勘測(cè)設(shè)計(jì)有限公司,浙江衢州 324002)
針對(duì)水利灌漿工程灌漿成果表整理工作量大、效率低的問(wèn)題,提出運(yùn)用Excel的二次開發(fā)工具VBA語(yǔ)言編寫程序、將可視化窗口作為操作界面的方法,實(shí)現(xiàn)灌漿成果表的自動(dòng)整理。將原始鉆孔資料與灌漿資料錄入Excel工作表,在可視化窗口中選擇需要進(jìn)行整理的表名,單擊生成表格命令按鈕即可自動(dòng)完成成果表整理。工程實(shí)例結(jié)果表明:該程序可實(shí)現(xiàn)灌漿表的自動(dòng)、準(zhǔn)確、高效整理。為Excel VBA語(yǔ)言應(yīng)用于灌漿工程資料整理的進(jìn)一步開發(fā)奠定了基礎(chǔ),同時(shí)也為其它工程資料整理提供了科學(xué)的參考。
灌漿成果表;Excel;VBA語(yǔ)言
灌漿施工是地下隱蔽工程,為確保工程的質(zhì)量和安全,應(yīng)對(duì)各灌漿技術(shù)參數(shù)實(shí)時(shí)監(jiān)控、記錄和匯總,以便對(duì)灌漿質(zhì)量做出正確評(píng)判。灌漿成果表作為灌漿資料匯總的一個(gè)重要組成,是灌漿工程質(zhì)量評(píng)價(jià)的主要依據(jù)。目前,大型水利灌漿工程使用灌漿自動(dòng)記錄儀統(tǒng)計(jì)資料成果表已經(jīng)比較普遍。由于受工程規(guī)模等原因的限制,不是每個(gè)灌漿工程都使用灌漿自動(dòng)記錄儀。記錄員手工記錄原始數(shù)據(jù)、錄入Excel表格,根據(jù)工程規(guī)范要求進(jìn)行灌漿資料整理的情況也存在,這是一個(gè)繁瑣又不斷重復(fù)的工作。本文通過(guò)Excel的二次開發(fā)工具VBA編程,根據(jù)規(guī)范要求的表格格式,編寫灌漿成果表整理程序,運(yùn)用可視化窗口,實(shí)現(xiàn)灌漿成果表的自動(dòng)整理。
Microsoft Excel是微軟公司眾多辦公軟件的組件之一,是為Windows和Apple Macintosh操作系統(tǒng)的電腦而編寫和運(yùn)行的一款試算表軟件。Excel主要用來(lái)制作電子表格,進(jìn)行復(fù)雜的數(shù)據(jù)運(yùn)算。
VBA是Visual Basic For Application的縮寫,是應(yīng)用程序開發(fā)語(yǔ)言Visual Basic(簡(jiǎn)稱VB)的子集,是微軟Office中廣泛使用的宏語(yǔ)言,是Excel、Word、Access等組件的二次開發(fā)工具[1]。
根據(jù)水工建筑物水泥灌漿施工技術(shù)規(guī)范DLT5148-2001的要求,灌漿成果表類型及所需的灌漿原始記錄資料如表1所示[2]。鉆孔原始記錄、灌漿原始記錄、壓水試驗(yàn)記錄是灌漿資料整理最基本的原始數(shù)據(jù)。將原始資料錄入Excel工作表,先統(tǒng)計(jì)“灌漿孔成果一覽表”,再根據(jù)“灌漿孔成果一覽表”統(tǒng)計(jì)“灌漿分序統(tǒng)計(jì)表”、“灌漿綜合統(tǒng)計(jì)表”、“灌漿工程完成情況表”,“灌漿成果表”整理順序如圖1所示。
表1 施工記錄資料及灌漿成果表Table 1 Data recorded during construction and the grouting result table
圖1 灌漿資料整理順序Fig.1 The sequence of organizing grouting data
在Excel工作表界面設(shè)置一個(gè)灌漿資料整理可視化窗口。其添加步驟為:在Visual Basic編輯器中插入“用戶窗體”,在用戶窗體中添加1個(gè)“框架”、1個(gè)“復(fù)合框”、2個(gè)“命令按鈕”、4個(gè)“選項(xiàng)按鈕”,修改用戶窗體及各控件的Caption,如圖2所示。
圖2 灌漿成果表整理窗口Fig.2 The w indow of grouting result organizing
在“表格類型選擇”框架中選擇需統(tǒng)計(jì)的表名,單擊“生成表格”命令按鈕即可完成資料整理。當(dāng)選擇“灌漿分序統(tǒng)計(jì)表”時(shí),需選擇灌漿單元才可進(jìn)行統(tǒng)計(jì)分析,否則跳出提示對(duì)話框,當(dāng)關(guān)閉灌漿資料整理窗口時(shí),跳出“關(guān)閉窗口警告”對(duì)話框,如圖3所示。
圖3 警告對(duì)話框Fig.3 The warning dialog box
灌漿成果表整理窗口中的各控件屬性值修改完成后,即可對(duì)各控件進(jìn)行代碼編寫。
5.1 初始化控件
當(dāng)運(yùn)行“灌漿成果表整理窗口”時(shí),將“灌漿孔成果一覽表”選項(xiàng)按鈕設(shè)為默認(rèn)選項(xiàng),程序代碼如下所示:
Private Sub UserForm_Initialize()
O1.Value=True
End Sub
5.2 “生成表格”控件代碼編寫
在“表格類型選擇”框架中選擇需統(tǒng)計(jì)的選項(xiàng),運(yùn)用if……end if語(yǔ)句編寫,程序流程如圖4所示。
圖4 成果表整理程序流程Fig.4 Flow chart of grouting result organizing
5.3 “關(guān)閉窗口”控件代碼編寫
當(dāng)關(guān)閉灌漿資料整理窗口時(shí),將跳出“關(guān)閉窗口警告”對(duì)話框,程序代碼如下所示。
Private Sub C2_Click()
Dim a As Integer
a=MsgBox("是否關(guān)閉窗口?",vbOKCancel,"關(guān)閉窗口警告")
If a=vbOK Then
Unload Me
End If
End Sub
圖5 灌漿孔成果一覽表Fig.5 The result of grouting holes
圖6 第一單元灌漿分序統(tǒng)計(jì)表Fig.6 Sub-sequence table of the first unit grouting
已知某一土石圍堰上游排灌漿資料,運(yùn)用“灌漿成果表整理程序”完成對(duì)該工程灌漿成果表的整理。
在工作表中錄入圍堰鉆孔、灌漿原始資料,激活“灌漿成果表整理窗口”,運(yùn)用該程序完成灌漿孔成果一覽表、第一單元灌漿分序統(tǒng)計(jì)表、灌漿綜合統(tǒng)計(jì)表,計(jì)算結(jié)果分別如圖5至圖7所示。
圖7 灌漿綜合統(tǒng)計(jì)表Fig.7 The com prehensive statistical table of grouting
本文通過(guò)分析國(guó)內(nèi)灌漿成果表整理現(xiàn)狀,提出運(yùn)用Excel的二次開發(fā)工具VBA語(yǔ)言,實(shí)現(xiàn)灌漿成果表的自動(dòng)整理。通過(guò)實(shí)例運(yùn)行結(jié)果看,基于Excel VBA語(yǔ)言實(shí)現(xiàn)灌漿成果表的自動(dòng)整理是可行的?;赩BA語(yǔ)言語(yǔ)法簡(jiǎn)單,針對(duì)宏錄制學(xué)習(xí)的特點(diǎn),開發(fā)者可根據(jù)每個(gè)灌漿工程的不同要求編寫不同的程序,實(shí)現(xiàn)灌漿資料整理自動(dòng)、準(zhǔn)確、高效地進(jìn)行。本文為運(yùn)用Excel VBA語(yǔ)言進(jìn)行水利灌漿工程資料整理的進(jìn)一步開發(fā)奠定了基礎(chǔ),同時(shí)也為其它灌漿工程資料整理提供了科學(xué)的參考。
[1] 伍云輝.Excel VBA應(yīng)用高效開發(fā)[M].北京:電子工業(yè)出版社,2007:2-38.(WU Yun-hui.Efficient Devel-opment of Excel VBA Application[M].Beijing:Elec-tronic Industry Press,2007:2-38.(in Chinese))
[2] DLT5148-2001,水工建筑物水泥灌漿施工技術(shù)規(guī)范[S].(DLT5148-2001,The Standard Specification for Construction of Hydraulic Structure CementGrouting[S].(in Chinese))
[3] 孫 釗.大壩基巖灌漿[M].北京:中國(guó)水利水電出版社,2004:201-220.(SUN Zhao.Grouting of Dam Bed-rock[M].Beijing:China Water Power Press,2004:201-220.(in Chinese))
[4] 夏 強(qiáng).Excel VBA應(yīng)用開發(fā)與實(shí)例精講[M].北京:科學(xué)出版社,2006:1-18.(XIA Qiang.Application De-velopment and Example Intensive Teaching of Excel VBA[M].Beijing:Electronic Industry Press,2006:1-18.(in Chinese))
[5] 熊厚金.國(guó)際巖土錨固與灌漿新進(jìn)展[M].北京:中國(guó)建筑工業(yè)出版社,1996:33-39.(XIONG Hou-jin.New Progress in International Ground Anchorage and Grouting[M].Beijing:China Building&Industry Press,1996:33-39.(in Chinese))
[6] 羅仁輝.鉆孔信息標(biāo)注的VBA程序化處理[J].人民長(zhǎng)江,2009,40(24):60-65.(LUO Ren-hui.VBA Pro-grammed Treatment of Drilling Information Marking[J].Yangtze River,2009,40(24):60-65.(in Chinese) )
(編輯:趙衛(wèi)兵)
Programm ing of Organizing Grouting Result Tables Using VBA Language Based on Excel Software
LIU Hui-xia,XIANG Hong-li(Quzhou Water Resource and Hydropower Design and Research Co.Ltd.,Quzhou 324002,China)
Heavy workload and low efficiency are problems in organizing the grouting result tables ofwater conser-vancy grouting projects.In this paper,taking visualization window as the operation interface,a program for auto-matically organizing the grouting result tables using VBA language,the secondary development tool of Excel,is presented.Having inputted original borehole data and the grouting data in the Excel worksheets,users then select tables to be organized in the visualization window,and then click on“generate table”button to achieve automatic organization.The program has been applied to an engineering project and proved to be capable of automatic,accu-rate,and efficient organization.This paper lays foundation for applying Excel VBA language to organizing data of grouting projects,and serve as a reference for organizing data of other engineering projects.
grouting result table;excel;VBA language
TV543
A
1001-5485(2011)05-0071-04
2010-07-08
劉慧霞(1983-),女,浙江江山人,碩士,主要從事水利水電工程方面的研究,(電話)13615700274(電子信箱)lhxzgz@163.com。