徐立波



摘 要: 利用EXCEL和VBA語言能夠完成論文,項目和發明專利等科研業績材料的收集和匯總工作,具有開發周期短小、用戶使用方便的特點。本文通過數據庫表結構設計、用戶界面設計和VBA語言編程實現科研業績材料的管理和匯總。
關鍵詞: EXCEL VBA 業績統計
各高等院校和科研院經常需要對本單位科研人員的學術論文、科研教研項目、學術專著和發明專利等科研業績材料進行收集、統計、計算、匯總和打印。由于科研人員眾多,涉及的材料量大,因此需要設計一個完成填報功能和自動計算匯總功能的應用,利用EXCEL和VBA解決這個問題。
1. VBA簡介
VBA(Visual Basic For Applications)是microsoft公司研發的可以提升Office系列辦公軟件功能的一種面向對象的程序設計語言。可以將VBA語言直接嵌入Word、Excel等軟件中,用于定制和擴展Office的功能。VBA語言是Visual Basic的子集,具有功能強大、計算方便、便于二次開發的特點。
2.表結構設計
科研業績統計涉及的表很多,包括學術論文表、項目信息表、學術專著表和發明專利表等。
(1) 學術論文表
(2)項目信息表
(3)學術專著表
(4)發明專利表
3.界面設計
根據科研業績材料收集、統計、匯總和打印的實際需求,分別部署4個表格到EXCEL工作表sheet1到sheet4中,分別重命名為學術論文、項目信息、學術專著和發明專利表。然后新建匯總工作表,添加如下圖所示6個按鈕和相關信息。
設計EXCEL用戶操作界面:
4.VBA編程
利用VBA編程語言分別編寫各個按鈕對應的程序,部分程序如下所示。
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 & "” & "導出數據存放", vbDirectory) = "" Then
MkDir ThisWorkbook.Path & "” & "導出數據存放"
End If
str1 = ThisWorkbook.Path & "” & "導出數據存放" & "” & 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.結語
通過EXCEL 和VBA語言設計開發的應用程序具有開發周期短小、用戶使用方便的特點,較好地解決了一個單位內部的業績材料收集和匯總出現的常見問題,能夠減少出現錯誤的可能,提高辦事人員的工作效率。
參考文獻:
[1]任律. Excel VBA在水電工程安全監測數據處理中的應用[J].西華大學學報,2009.28(1).