安民軍
甘肅省計量研究院 甘肅蘭州 730050
隨著我國經(jīng)濟及社會的發(fā)展,各行各業(yè)對電子天平的檢定需求量增多,特別是2017年4月強檢免費開始以后,電子天平作為強檢器具,我院的電子天平檢定臺件數(shù)也猛增,從過去每年2000臺件數(shù)增加到現(xiàn)在3000多臺件數(shù)。我院的原始記錄還是手工填寫,隨著工作量的增加,導致天平檢定項目無法按時完成檢定工作,在這種情況下,研發(fā)出電子天平檢定管理系統(tǒng)。本系統(tǒng)主要通過232、485串口通信接口讀取數(shù)據(jù)或者通過電腦直接現(xiàn)場手工輸入讀取的數(shù)據(jù)。通過VB6.0編程將證書號、委托方、委托單號、制造廠商、出廠編號、型號規(guī)格、檢定日期等信息輸入后通過選擇電子天平不同模板,選擇保存在Word2007固定位置顯示出來。
其界面主要包含有信息輸入、模板管理、信息查詢、退出等功能,模板管理主要有添加、刪除、刷新、修改等功能。
通過輸入委托方、委托單號、制造廠商、出廠編號、委托單號、檢定日期等信息來查詢對應信息。
在輸入基本信息結(jié)束后,打開對應原始記錄,可以通過連接串口讀取數(shù)據(jù)或者直接通過手動輸入讀取的電子天平信息。主要是考慮到各種電子天平生產(chǎn)廠家及型號眾多及各種接口信息不同,本系統(tǒng)前期考慮進行手動輸入信息。在輸入采集到的信息后,通過Word的VBA編程生成三個宏。
其生成的快捷方式如圖3左上角,相對應電子天定有幾個拐點。電子天平有0個拐點對應宏1,電子天平有1個拐點對應宏2,電子天平有2個拐點對應宏3,點擊對應按鈕,自動填寫計算電子天平的偏載誤差、重復性和示值誤差。
圖1 信息輸入界面
圖2 信息查詢界面
圖3 Word三個宏快捷方式
在選擇的模板中,由于對于模板除了進行宏編程外,對其偏載誤差、重復性、試驗載荷的誤差也進行了公式運算,通過點擊宏快捷按鈕,可以進行對宏的更新。及時發(fā)現(xiàn)手動輸入信息是否有錯,保證了原始記錄的正確性,減少了我單位過去手寫的原始記錄經(jīng)常出錯的問題。
下面程序是自動更新宏:
Dim aField As Field
Dim aStory As Range
''' Update all fields in the document
For Each aStory In ActiveDocument.StoryRanges
For Each aField In aStory.Fields
aField.Update
Next aField
Next aStory
Set adoc=ActiveDocument
下面程序是求電子天平偏載誤差程序:
With adoc
Set tb2=.Tables(2)
maxValue=0
maxValue=(Replace(tb2.Rows(2).Cells(5).Range.Text,Chr(7),""))
For i=3 To tb2.Rows.Count
If Abs(maxValue)< Abs(Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),""))Then
maxValue=(Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),""))
End If
Next
a=Val(tb2.Cell(2,1))
.Tables(5).Cell(5,2)=Format(maxValue / a,"0.0")& "e"
.Tables(5).Cell(5,2).Range.Characters(.Tables(5).Cell(5,2).Range.Characters.Count-1).Font.Italic=True
Set tb2=.Tables(3)
下面程序是求重復性程序:
Set tb1=.Tables(2)
minV=(Replace(tb2.Rows(2).Cells(5).Range.Text,Chr(7),""))
maxV=(Replace(tb2.Rows(2).Cells(5).Range.Text,Chr(7),""))
For i=2 To tb2.Rows.Count
If minV > Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),"")Then
minV=Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),"")
End If
If maxV < Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),"")Then
maxV=Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),""
End If
Next
b=Val(tb1.Cell(2,1))
.Tables(5).Cell(6,2)=Format(Abs((maxV-minV)/ b),"0.0")& "e"
.Tables(5).Cell(6,2).Range.Characters(.Tables(5).Cell(6,2).Range.Characters.Count-1).Font.Italic =True
Set tb2=.Tables(2)
maxValue=0
maxValue=(Replace(tb2.Rows(2).Cells(5).Range.Text,Chr(7),""))
For i=3 To tb2.Rows.Count
If Abs(maxValue)< Abs(Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),""))Then
maxValue=(Replace(tb2.Rows(i).Cells(5).Range.Text,Chr(7),""))
End If
Next
a=Val(tb2.Cell(2,1))
.Tables(5).Cell(5,2)=Format(maxValue / a,"0.0")& "e"
.Tables(5).Cell(5,2).Range.Characters(.Tables(5).Cell(5,2).Range.Characters.Count-1).Font.Italic=True
在原始記錄管理中應用百度云同步盤將原始記錄定期將存在百度云中,防止因電腦等外部原因丟失原始記錄。
同時為了滿足我省地縣對電子天平檢定的需求,在上述的基礎上開發(fā)出生成其記錄的功能,其VB中添加了如下代碼:
Private Sub Command2_Click()
Dim fso1 As New FileSystemObject
Dim StrDoc1 As String
StrDoc1=App.Path & "" & Cmb證書號.Text & "證書" & ".doc"
fso1.CopyFile App.Path & "證書模板.doc",StrDoc1,True
Call EditWord(StrDoc1)
End Sub
在word宏中加入如下代碼:
Sub zhengshu()
Dim myPath As String
myPath=ActiveDocument.Name
Selection.Copy
myDoc=Left(myPath,Len(myPath)-4)
myDoc1=Word.Application.Documents.Open("E:天平地縣檢定" & "" & myDoc & "證書" & ".doc")
Selection.Find.ClearFormatting
With Selection.Find
.Text="檢 定 結(jié) 果"
.Replacement.Text=""
.Forward=True
.Wrap=wdFindContinue
.Format=False
.MatchCase=False
.MatchWholeWord=False
.MatchByte=True
.MatchWildcards=False
.MatchSoundsLike=False
.MatchAllWordForms=False
End With
Selection.Find.Execute
Selection.GoTo What:=wdGoToLine,Which:=wdGoToNext,Count:=1,Name:=""
Selection.PasteAndFormat(wdPasteDefault)
Selection.Tables(1).AutoFitBehavior(wdAutoFitWindow)
End Sub
電子天平檢定管理系統(tǒng)的研發(fā)及應用節(jié)省了大量的人力和物力,實現(xiàn)了記錄和證書的自動化和錯誤率的下降,為我省的計量檢定工作做出了一定貢獻。