徐立波
摘 要: 利用EXCEL和VBA語言能夠完成論文,項目和發(fā)明專利等科研業(yè)績材料的收集和匯總工作,具有開發(fā)周期短小、用戶使用方便的特點。本文通過數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計、用戶界面設(shè)計和VBA語言編程實現(xiàn)科研業(yè)績材料的管理和匯總。
關(guān)鍵詞: EXCEL VBA 業(yè)績統(tǒng)計
各高等院校和科研院經(jīng)常需要對本單位科研人員的學(xué)術(shù)論文、科研教研項目、學(xué)術(shù)專著和發(fā)明專利等科研業(yè)績材料進行收集、統(tǒng)計、計算、匯總和打印。由于科研人員眾多,涉及的材料量大,因此需要設(shè)計一個完成填報功能和自動計算匯總功能的應(yīng)用,利用EXCEL和VBA解決這個問題。
1. VBA簡介
VBA(Visual Basic For Applications)是microsoft公司研發(fā)的可以提升Office系列辦公軟件功能的一種面向?qū)ο蟮某绦蛟O(shè)計語言??梢詫BA語言直接嵌入Word、Excel等軟件中,用于定制和擴展Office的功能。VBA語言是Visual Basic的子集,具有功能強大、計算方便、便于二次開發(fā)的特點。
2.表結(jié)構(gòu)設(shè)計
科研業(yè)績統(tǒng)計涉及的表很多,包括學(xué)術(shù)論文表、項目信息表、學(xué)術(shù)專著表和發(fā)明專利表等。
(1) 學(xué)術(shù)論文表
(2)項目信息表
(3)學(xué)術(shù)專著表
(4)發(fā)明專利表
3.界面設(shè)計
根據(jù)科研業(yè)績材料收集、統(tǒng)計、匯總和打印的實際需求,分別部署4個表格到EXCEL工作表sheet1到sheet4中,分別重命名為學(xué)術(shù)論文、項目信息、學(xué)術(shù)專著和發(fā)明專利表。然后新建匯總工作表,添加如下圖所示6個按鈕和相關(guān)信息。
設(shè)計EXCEL用戶操作界面:
4.VBA編程
利用VBA編程語言分別編寫各個按鈕對應(yīng)的程序,部分程序如下所示。
For i = 2 To 1000
If Worksheets("匯總").Cells(i, 3) = "" Then
Exit For
End If
Next i
Copy_Zone = "c2:k" & (i - 1)
Worksheets("匯總").Range(Copy_Zone).copy
temp = Worksheets("匯總").Cells(2, 4)
If Dir(ThisWorkbook.Path & "” & "導(dǎo)出數(shù)據(jù)存放", vbDirectory) = "" Then
MkDir ThisWorkbook.Path & "” & "導(dǎo)出數(shù)據(jù)存放"
End If
str1 = ThisWorkbook.Path & "” & "導(dǎo)出數(shù)據(jù)存放" & "” & temp & "從" & Worksheets("匯總").Cells(2, 7) & "到" & Worksheets("匯總").Cells(3, 7) & ".doc"
Set Wd = CreateObject("word.application")
Wd.Documents.Add.SaveAs Filename:=str1
Wd.Selection.TypeText (temp)
Wd.Selection.PasteExcelTable False, False, False
Wd.Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
Wd.ActiveDocument.PageSetup.Orientation = wdOrientLandscape
Wd.ActiveDocument.Save
Wd.ActiveDocument.Close
Wd.Quit
Set Wd = Nothing
5.結(jié)語
通過EXCEL 和VBA語言設(shè)計開發(fā)的應(yīng)用程序具有開發(fā)周期短小、用戶使用方便的特點,較好地解決了一個單位內(nèi)部的業(yè)績材料收集和匯總出現(xiàn)的常見問題,能夠減少出現(xiàn)錯誤的可能,提高辦事人員的工作效率。
參考文獻:
[1]任律. Excel VBA在水電工程安全監(jiān)測數(shù)據(jù)處理中的應(yīng)用[J].西華大學(xué)學(xué)報,2009.28(1).