王 偉,陳慶峰,趙晶晶
(長(zhǎng)春機(jī)械科學(xué)研究院有限公司,吉林 長(zhǎng)春 130103)
Excel在傳感器檢測(cè)標(biāo)定軟件中的應(yīng)用
王偉,陳慶峰,趙晶晶
(長(zhǎng)春機(jī)械科學(xué)研究院有限公司,吉林 長(zhǎng)春 130103)
摘要:Excel和傳感器檢測(cè)標(biāo)定軟件結(jié)合使用,使得傳感器檢測(cè)標(biāo)定數(shù)據(jù)記錄和計(jì)算變得方便快捷。本文簡(jiǎn)要介紹了軟件的設(shè)計(jì)原理和Excel編程基礎(chǔ)知識(shí)。
關(guān)鍵詞:Excel;VB;傳感器;標(biāo)定
1引言
通常,在傳感器進(jìn)行檢測(cè)標(biāo)定時(shí),都是手工記錄測(cè)量數(shù)據(jù)、手工輸入到Excel中進(jìn)行數(shù)據(jù)處理。所測(cè)各點(diǎn)的數(shù)據(jù)都是多位小數(shù),輸入到Excel表中特別麻煩,常因?yàn)檩斎氤鲥e(cuò)而反復(fù)修改,影響工作效率?,F(xiàn)在開(kāi)發(fā)出一種測(cè)量標(biāo)定軟件,將Excel編程和該軟件結(jié)合起來(lái),由軟件自動(dòng)完成數(shù)據(jù)記錄并填寫到Excel表格中,解決了手動(dòng)輸入出錯(cuò)的問(wèn)題,提高了工作效率。
2軟件工作原理
軟件工作時(shí),通過(guò)計(jì)算機(jī)串口和6000數(shù)字測(cè)量?jī)x(或其它測(cè)量?jī)x器)通信,采集傳感器各個(gè)測(cè)量點(diǎn)數(shù)據(jù)。軟件對(duì)采集來(lái)的數(shù)據(jù)進(jìn)行格式化處理后,采取兩種方式送入Excel表格中,然后在Excel表中進(jìn)行處理。工作原理圖如圖1所示。
圖1 工作原理
3Excel表編程基礎(chǔ)知識(shí)介紹
Microsoft Office中的Excel表在編程設(shè)計(jì)與常規(guī)軟件設(shè)計(jì)有很大區(qū)別,Microsoft公司為此給廣大編程愛(ài)好者創(chuàng)建了獨(dú)立完善的編程體系,使得編程愛(ài)好者很容易掌握和運(yùn)用。
3.1激活一個(gè)工作簿
在VBA編程中,想要使用一個(gè)Excel表,首先需要激活此表。采用Activate進(jìn)行激活,并將激活的工作簿放在活動(dòng)窗口中。下面語(yǔ)句為激活工作簿 “Book1.xlsx”。
Workbooks("Book1.xlsx").Activate
3.2創(chuàng)建一個(gè)新的工作簿
在VBA編程中,想要?jiǎng)?chuàng)建一個(gè)新的工作簿,需要使用Add方法。下面語(yǔ)句為創(chuàng)建新工作簿,并將該工作簿命名為“工資”。
Workbooks.Add
Set xlBook = Workbooks.Add
xlBook.Title = "工資"
xlBook.SaveAs "工資.xlsx"
3.3打開(kāi)一個(gè)工作簿
在VBA編程中,打開(kāi)工作簿用Open方法,并且打開(kāi)的工作簿是Workbooks集合中的一員。下面語(yǔ)句為打開(kāi)指定位置文件夾內(nèi)的工作簿“工資.xlsx”。
Workbooks.Open("E:MyWorks “工資.xlsx”")
3.4用數(shù)字編號(hào)引用工作表
在Excel中,可以用編號(hào)來(lái)引用工作表。用Worksheets中的屬性,激活工作簿中的一張工作表。
Worksheets(1).Activate
如果要對(duì)所有類型的工作表操作,可以使用Sheets屬性。下面語(yǔ)句是激活工作簿中的第一張工作表。
Sheets(1).Activate ’激活第1張工作表
3.5用Cells屬性數(shù)字編號(hào)引用單元格
Excel表中有一個(gè)重要屬性,即Cells屬性,通過(guò)Cells的行號(hào)和列標(biāo)來(lái)引用某一個(gè)單元格。Cells屬性返回代表單個(gè)單元格的 Range 對(duì)象。下面語(yǔ)句表示對(duì)工作表“Sheet2”上的單元格“B8”操作,并賦予 Value 屬性值為“工資”。
Worksheets("Sheet2").Cells(8,2).Value =“工資”
4編程實(shí)現(xiàn)
檢測(cè)標(biāo)定軟件采用VB6.0開(kāi)發(fā)設(shè)計(jì)。打開(kāi)VB,新建一個(gè)工程命名為“數(shù)字測(cè)量?jī)x標(biāo)定軟件”的文件,添加需要的窗體,設(shè)計(jì)軟件界面和窗體布局,運(yùn)行后的軟件主界面如圖2所示。要想在軟件中結(jié)合Excel進(jìn)行編程,必須在VB設(shè)計(jì)環(huán)境中選擇“工程”菜單中“引用”選項(xiàng),在彈出可引用對(duì)象對(duì)話框中選擇“Microsoft Excel 11.0 Object Library(計(jì)算機(jī)中安裝的Office版本不同會(huì)有所不同)”。只有引用了此類庫(kù)才能在軟件設(shè)計(jì)中對(duì)Excel表進(jìn)行編程設(shè)計(jì)。
圖2 軟件界面
引用完成后,就可以在工程中添加一個(gè)模塊Module1,在模塊中聲明相關(guān)的數(shù)據(jù)結(jié)構(gòu)和變量,然后聲明Excel所需對(duì)象變量。
′聲明Excel對(duì)象
Public xlApp As Excel.Application
Public xlBook As Excel.Workbook
Public xlSheet As Excel.Worksheet
這三個(gè)對(duì)象分別是Excel應(yīng)用對(duì)象、工作簿對(duì)象、工作表對(duì)象。
Excel對(duì)象聲明完就可以應(yīng)用對(duì)象對(duì)Excel表進(jìn)行操作。Excel表編程可以形象地用圖3所示的流程來(lái)描述。軟件設(shè)計(jì)時(shí),按照Excel表編程流程步驟就可以輕松完成。
圖3 流程圖
檢測(cè)標(biāo)定軟件設(shè)計(jì)中,有很多涉及到數(shù)據(jù)采集、數(shù)據(jù)處理與6000數(shù)字測(cè)量?jī)x之間的編程,這里不多贅述,而是主要針對(duì)Excel表如何編程加以描述。
下面子過(guò)程描述的是如何打開(kāi)指定路徑上的指定Excel表,并且把表單1設(shè)置為活動(dòng)工作表,然后激活表單準(zhǔn)備使用。
′根據(jù)選擇的Excel表確定打開(kāi)哪個(gè)表
Private Sub SelectTable()
′定義對(duì)象變量,創(chuàng)建Excel應(yīng)用類。
Set xlApp = CreateObject("Excel.Application") ′創(chuàng)建EXCEL應(yīng)用類
′要打開(kāi)的Excel表所在路徑和表名
Set xlBook = xlApp.Workbooks.Open(App.Path &“” &ExcelTableName)
xlApp.Visible = True ′設(shè)置EXCEL對(duì)象可見(jiàn)(或不可見(jiàn))
Set xlSheet = xlBook.Worksheets("sheet1") ′設(shè)置活動(dòng)工作表
′激活工作表
xlSheet.Activate
End Sub
Excel表一旦激活,就可以向單元格中添加數(shù)據(jù)了。下面的for循環(huán)實(shí)現(xiàn)了將測(cè)量點(diǎn)標(biāo)準(zhǔn)值數(shù)據(jù)(如圖4所示)寫入對(duì)應(yīng)單元格中,同時(shí)保存工作表,把數(shù)據(jù)存儲(chǔ)在表中。
圖4 測(cè)量設(shè)置界面
For i = 0 To OperateSave.InputNum - 1
OperateSave.txtPNValue(i) = Val(txtStandardValue(i).Text)
′采用編號(hào)引用方式寫入單元格。
xlSheet.Cells(i + 11,1) = Val(txtStandardValue(i).Text)
′保存工作表及其表中數(shù)據(jù)
xlBook.Save ′保存
Next
軟件操作全部完成后,在軟件退出時(shí),一定要關(guān)閉工作表,釋放對(duì)象變量所占用的資源。如下所示語(yǔ)句實(shí)現(xiàn)關(guān)閉和釋放等功能。
xlBook.Save ′保存
xlBook.Close (True) ′關(guān)閉工作簿
xlApp.Quit ′結(jié)束EXCEL對(duì)象
Set xlApp = Nothing′釋放xlApp對(duì)象
在軟件設(shè)計(jì)時(shí),有時(shí)需要根據(jù)使用過(guò)程判斷Excel表是否已經(jīng)打開(kāi)或者已經(jīng)關(guān)閉等,這里不再加以描述。
5結(jié)束語(yǔ)
應(yīng)用Excel軟件,可以方便地采集測(cè)量數(shù)據(jù),并準(zhǔn)確地將數(shù)據(jù)添加到Excel單元格中,方便測(cè)量人員進(jìn)行數(shù)據(jù)處理,提高了工作效率。
參考文獻(xiàn)
[1]何光渝.Visual Basic常用數(shù)值算法[M].北京:科學(xué)出版社,2002.
[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制(最新版)[M].北京:清華大學(xué)出版社,2002.
[3]張強(qiáng),劉飚.Excel 2007與VBA編程從入門到精通[M].北京:電子工業(yè)出版社,2008.
Application of Excel to Calibration Software for Sensor
Wang Wei,Chen Qingfeng,Zhao Jingjing
(Changchun Research Institute for Mechanical Science Co.,Ltd.Changchun 130103,Jilin,China)
Abstract:The application of Excel to calibration software for sensor is introduced in the paper.The combination of Excel and calibration software makes the record and calculation of sensor calibration data convenient and fast.The design principle of software and the basic knowledge of Excel programming are introduced in brief.
Keywords:Excel;VB;sensor;calibration
[收稿日期]2016-02-24
[作者簡(jiǎn)介]王偉(1976—),男,軟件工程師,主要從事試驗(yàn)機(jī)軟件開(kāi)發(fā)與設(shè)計(jì)工作。
中圖分類號(hào):TP274+.2
文獻(xiàn)標(biāo)識(shí)碼:B
doi:10.3969/j.issn.1674-3407.2016.01.029