亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Excel VBA在理正工程地質(zhì)勘察軟件接口文件生成中的應(yīng)用

        2018-06-17 12:23:04胡新惠
        關(guān)鍵詞:按鈕界面信息

        胡新惠

        廣東中山地質(zhì)工程勘察院 廣東 中山 528400

        正文:

        0 引言

        理正工程地質(zhì)勘察軟件因具有功能強(qiáng)大、性能穩(wěn)定及通用性強(qiáng)的優(yōu)點(diǎn)而被廣泛應(yīng)用于工程勘察內(nèi)業(yè)資料整理工作中。當(dāng)勘察項(xiàng)目規(guī)模大、場(chǎng)地地層情況復(fù)雜時(shí),若直接在軟件界面上進(jìn)行數(shù)據(jù)錄入,往往工作會(huì)十分繁瑣,且容易出錯(cuò)。Excel軟件數(shù)據(jù)處理功能強(qiáng)大,界面友好,交互性強(qiáng),且具有二次開發(fā)功能。若直接在Excel軟件上進(jìn)行勘察資料錄入,然后生成接口文件導(dǎo)入理正勘察軟件中再進(jìn)行下一步工作,則可以大大提高勘察工作的效率。本文結(jié)合工程實(shí)例,介紹采用VBA語(yǔ)言在Excel軟件上開發(fā)新功能的方法。該新功能可將Excel表格內(nèi)按特定格式錄入的數(shù)據(jù)轉(zhuǎn)換為能被理正勘察軟件識(shí)別的文本格式接口文件。

        1 理正勘察軟件接口文件的格式

        理正勘察軟件接口文件的內(nèi)容可以包含勘察項(xiàng)目的各種數(shù)據(jù),每種數(shù)據(jù)又由不同的成員組成。理正勘察軟件的幫助文檔對(duì)接口文件的格式及數(shù)據(jù)有詳細(xì)的說(shuō)明(見表1)。這些數(shù)據(jù)的成員一般可由軟件界面輸入。接口文件中的數(shù)據(jù)類型有幾十種之多;每個(gè)數(shù)據(jù)的成員又有幾個(gè)到幾十個(gè)不等。通常,在對(duì)一個(gè)勘察項(xiàng)目進(jìn)內(nèi)業(yè)資料整理時(shí),僅需要用到幾種常見的數(shù)據(jù),以及數(shù)據(jù)中幾個(gè)常用的成員。

        表1 理正勘察軟件接口文件常用數(shù)據(jù)說(shuō)明表

        接口文件格式說(shuō)明:

        (1)同一行中數(shù)據(jù)以制表符(Tab鍵)分隔,如果某些字段的值為空直接用Tab鍵跳過(guò),不能用空格鍵代替Tab鍵。每行數(shù)據(jù)表示一條記錄。

        (2)在輸入鉆孔數(shù)據(jù)時(shí)前四個(gè)字符必須為#ZK#,輸入土層數(shù)據(jù)時(shí)前四個(gè)字符必須為#TC#,輸入取樣數(shù)據(jù)時(shí)前四個(gè)字符必須是#QY#。原位試驗(yàn)和室內(nèi)試驗(yàn)按格式對(duì)應(yīng)不同的字符交互相應(yīng)的數(shù)據(jù)。

        (3)輸入接口數(shù)據(jù)時(shí),一個(gè)鉆孔對(duì)應(yīng)有多個(gè)土層數(shù)據(jù)、多個(gè)原位試驗(yàn)數(shù)據(jù)、多個(gè)取樣數(shù)據(jù)和室內(nèi)試驗(yàn)數(shù)據(jù);則每條記錄前都需輸入其相對(duì)應(yīng)的字符。

        2 應(yīng)用實(shí)例

        理正勘察軟件中關(guān)于勘察項(xiàng)目的全部錄入信息量比較龐大。但在實(shí)際工作中,我們可能僅僅需要一小部分信息。本文以在Excel 2010軟件上生成理正CAD8.5PB2格式接口文件的范例來(lái)闡述生成接口文件的方法。同時(shí),本實(shí)例主要對(duì)勘察項(xiàng)目中的鉆孔土層信息中常用數(shù)據(jù)進(jìn)行處理。

        2.1 Excel表格輸入界面的設(shè)計(jì)

        生成理正勘察接口文件之前,需要在Excel表格中按一定格式輸入相應(yīng)數(shù)據(jù),首先需要進(jìn)行相應(yīng)的數(shù)據(jù)錄入界面設(shè)計(jì)。本文范例設(shè)計(jì)的Excel表格界面如圖1所示。圖中白色區(qū)域?yàn)閿?shù)據(jù)錄入?yún)^(qū)域。

        圖1 數(shù)據(jù)錄入界面

        圖1 界面中包含四個(gè)按鈕(“清理內(nèi)容”、“生成標(biāo)準(zhǔn)地層”、“刪除行”及“生成接口文件”),均為ActiveX控件。“清理內(nèi)容”按鈕的作用是清空數(shù)據(jù)輸入?yún)^(qū)域既有的內(nèi)容,為后續(xù)數(shù)據(jù)輸入準(zhǔn)備?!吧蓸?biāo)準(zhǔn)地層”按鈕的作用是根據(jù)第一個(gè)鉆孔錄入的地層信息以及總孔數(shù),在界面上為第一個(gè)孔之外的每個(gè)孔生成與第一個(gè)孔一樣的地層信息。“刪除行”按鈕的作用是在數(shù)據(jù)編輯過(guò)程中,刪除光標(biāo)所在行。“生成接口文件”按鈕的作用是當(dāng)每個(gè)孔的錄入信息都準(zhǔn)備好并檢查無(wú)誤時(shí),生成能被理正CAD8.5PB2識(shí)別并讀入的文本格式文件。

        2.2 VBA代碼的編制

        VBA代碼的編制一般在VBE環(huán)境中進(jìn)行。可以通過(guò)如下方式進(jìn)入VBE環(huán)境:點(diǎn)擊Excel工作薄菜單欄中開發(fā)工具選項(xiàng)卡,使選項(xiàng)卡中的設(shè)計(jì)模式按鈕處于選中狀態(tài)。然后雙擊界面中的按鈕,便可進(jìn)入到VBE(VBA的編程環(huán)境)界面中,如圖2所示。每個(gè)按鈕均有一段相應(yīng)代碼與之對(duì)應(yīng)。

        圖2 VBE環(huán)境

        2.2.1 “清理內(nèi)容”相關(guān)代碼

        Dim ColNum, RowNum As Long '表格總列數(shù)與總行數(shù)

        Dim AcColNum As Long '表格實(shí)際內(nèi)容占據(jù)的列數(shù)

        Dim AllRange, ClearRange As Range

        ColNum = ActiveSheet.Cells.Columns.Count

        RowNum = ActiveSheet.Cells.Rows.Count

        AcColNum = Cells(3, ColNum).End(xlToLeft).Column

        Set ClearRange = Union(Range(Cells(4, 1), Cells(RowNum,ColNum)), Range(Cells(1, AcColNum + 1), Cells(4, ColNum)))

        ClearRange.Clear

        2.2.2 “生成標(biāo)準(zhǔn)地層”相關(guān)代碼

        Dim ZKNum, DicenNum, ColNum, RowNum, Tempi, ZKLen,ZKStNum, AcColNum As Long '鉆孔數(shù)、地層數(shù)、表格列數(shù)、表格行數(shù)、臨時(shí)變量、鉆孔字符長(zhǎng)度、鉆孔起始編號(hào)、實(shí)際列數(shù)

        Dim ZKStr As String '鉆孔字符

        Dim TempRng '臨時(shí)區(qū)域

        ColNum = ActiveSheet.Cells.Columns.Count

        RowNum = ActiveSheet.Cells.Rows.Count

        DicenNum = ActiveSheet.Cells(RowNum, 2).End(xlUp).Row - 3

        If (DicenNum > 0) Then

        ZKNum = Application.InputBox(Prompt:="輸入鉆孔個(gè)數(shù)", Title:="孔數(shù)", Type:=1)

        If (ZKNum > 1) Then

        ZKStr = Left(Cells(4, 1), 2)

        ZKLen = Len(Cells(4, 1))

        ZKStNum = CLng(Right(Cells(4, 1), ZKLen - 2))

        AcColNum = Cells(3, ColNum).End(xlToLeft).Column

        For Tempi = 2 To ZKNum

        Range(Cells(4, 2), Cells(DicenNum + 3, AcColNum)).Copy Range(Cells((Tempi - 1) * DicenNum + 4, 2), Cells(Tempi * DicenNum +3, AcColNum))

        Cells((Tempi - 1) * DicenNum + 4, 1) = ZKStr ﹠ (Tempi + ZKStNum- 1)

        If Tempi Mod 2 = 0 Then Range(Cells((Tempi - 1) * DicenNum + 4,1), Cells(Tempi * DicenNum + 3, AcColNum)).Interior.ColorIndex = 33

        Next Tempi

        End If

        End If

        2.2.3 “刪除行”相關(guān)代碼

        Selection.EntireRow.Delete

        2.2.4 “生成接口文件”相關(guān)代碼

        Dim FoldPos, Tempi, DicenNum, RowNum As Long '文件夾字符數(shù)、臨時(shí)變量、總地層個(gè)數(shù)、表格總行數(shù)

        Dim FileName, FolderAddress, DicengFile As String '文件名、文件夾及地層文件

        Dim ZKStr, InputZK, DCInfo, InputInfo As String '鉆孔名及錄入數(shù)據(jù)

        FileName = ThisWorkbook.FullName

        FoldPos = InStrRev(FileName, "")

        FolderAddress = Left(FileName, FoldPos) '文件夾

        DicengFile = FolderAddress ﹠ Cells(2, 10) ﹠ "diceng.txt" '地層文件

        Open DicengFile For Output As #1

        RowNum = ActiveSheet.Cells.Rows.Count

        DicenNum = ActiveSheet.Cells(RowNum, 2).End(xlUp).Row - 3

        For Tempi = 4 To DicenNum + 3

        ZKStr = Replace(Cells(Tempi, 1), " ", "")

        If Len(ZKStr) > 0 Then

        InputZK = "#ZK#" ﹠ ZKStr

        Print #1, InputZK

        End If

        InputInfo = "#TC#" ﹠ Cells(Tempi, 6) ﹠ Chr(9) ﹠ Cells(Tempi, 5) ﹠String(2, Chr(9)) '輸入信息添加土層名稱及層底深度并到主層編號(hào)前

        DCInfo = Replace(Cells(Tempi, 2), " ", "") '獲取主層編號(hào)數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ Chr(9) '輸入信息添加主層號(hào)并到亞層編號(hào)前

        Else

        InputInfo = InputInfo ﹠ Chr(9)

        End If

        DCInfo = Replace(Cells(Tempi, 3), " ", "") '獲取亞層編號(hào)數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ Chr(9) '輸入信息添加亞層號(hào)并到次亞層編號(hào)前

        Else

        InputInfo = InputInfo ﹠ Chr(9)

        End If

        DCInfo = Replace(Cells(Tempi, 4), " ", "") '獲取次亞層編號(hào)數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ Chr(9) '輸入信息添加次亞層號(hào)并到地質(zhì)時(shí)代編號(hào)前

        Else

        InputInfo = InputInfo ﹠ Chr(9)

        End If

        DCInfo = Replace(Cells(Tempi, 7), " ", "") '獲取地質(zhì)時(shí)代數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ Chr(9) '輸入信息添加地質(zhì)時(shí)代并到成因前

        Else

        InputInfo = InputInfo ﹠ Chr(9)

        End If

        DCInfo = Replace(Cells(Tempi, 8), " ", "") '獲取成因數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ String(7, Chr(9)) '輸入信息添加地質(zhì)時(shí)代并到風(fēng)化程度前

        Else

        InputInfo = InputInfo ﹠ String(7, Chr(9))

        End If

        DCInfo = Replace(Cells(Tempi, 9), " ", "") '獲取風(fēng)化程度數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo ﹠ String(7, Chr(9)) '輸入信息添加風(fēng)化程度并到描述號(hào)前

        Else

        InputInfo = InputInfo ﹠ String(7, Chr(9))

        End If

        DCInfo = Replace(Cells(Tempi, 10), " ", "") '獲取描述數(shù)據(jù)

        If Len(DCInfo) > 0 Then

        InputInfo = InputInfo ﹠ DCInfo '輸入信息添加描述數(shù)據(jù)

        Else

        InputInfo = InputInfo ﹠ Chr(9)

        End If

        Print #1, InputInfo

        Next

        Close #1

        2.3 接口文件的生成

        當(dāng)每個(gè)鉆孔的錄入信息都已輸入并檢查無(wú)誤時(shí),點(diǎn)擊“生成接口文件”按鈕就可以生成能被理正CAD8.5PB2識(shí)別并讀入的文本格式文件,該文件與Excel界面文件保存于同一目錄中。本范例中與圖1界面中所輸入內(nèi)容相對(duì)應(yīng)的接口文件如圖3所示。

        圖3 理正接口文件

        3 結(jié)語(yǔ)

        本文結(jié)合工程實(shí)例,介紹了利用VBA編程在Excel軟件中生成理正勘察軟件接口文件的方法。為巖土工程勘察數(shù)據(jù)處理提供了一個(gè)新的思路。該方法已經(jīng)在實(shí)際工程中有所應(yīng)用,大大減輕了工程人員的勞動(dòng)強(qiáng)度,節(jié)省了人力投入,同時(shí)滿足了勘察工作內(nèi)業(yè)處理進(jìn)度的要求,保證了數(shù)據(jù)處理的準(zhǔn)確性,已初步顯現(xiàn)出良好的應(yīng)用價(jià)值。

        猜你喜歡
        按鈕界面信息
        哪個(gè)是門鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        國(guó)企黨委前置研究的“四個(gè)界面”
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        內(nèi)心不能碰的按鈕
        展會(huì)信息
        沒Gmail按鈕 咱自己加等
        绝顶高潮合集videos| 国产精品自线在线播放| 青春草在线观看免费视频| 成人av蜜桃在线观看| 日韩精品成人无码专区免费| 在线播放无码高潮的视频| ZZIJZZIJ亚洲日本少妇| 国产精品亚洲av一区二区三区| 国产国拍亚洲精品福利| 国产成人亚洲精品一区二区三区| 麻豆资源在线观看视频| 色偷偷av男人的天堂| 一本色道久久综合亚洲精品小说| 国产精品久久国产精品久久 | 激情亚洲的在线观看| 男女打扑克视频在线看| 四虎影视久久久免费观看| 免费看久久妇女高潮a| 日韩毛片久久91| 深夜黄色刺激影片在线免费观看| 日韩人妻ol丝袜av一二区| 粗一硬一长一进一爽一a级| 国产精品无套粉嫩白浆在线| 日韩人妻精品视频一区二区三区| 西川结衣中文字幕在线| 麻豆久久久9性大片| 国产成人精品日本亚洲专区6| 中文字幕亚洲中文第一| 亚洲日韩精品无码av海量| 国产suv精品一区二区| 亚洲无码激情视频在线观看| 亚洲日本中文字幕乱码在线 | 99香蕉国产精品偷在线观看| 亚洲激情人体艺术视频| 国产高清女主播在线观看| 国产精品9999久久久久仙踪林| 亚洲日韩欧美一区二区三区| 亚洲AV无码未成人网站久久精品| 国产偷闻女邻居av在线观看| 夜夜爽日日澡人人添| 中文字幕 人妻熟女|