畢克書
[摘要] 機關事業單位干部信息的統計和管理工作,任務重,數據量大。本文針對這一問題,利用Excel VBA設計開發干部管理系統,并結合點聚公司開發的Web Office,實現局域網查看、修改、保存,大大地提高了工作效率,方便快捷地進行干部管理工作。
[關鍵詞] Excel; VBA; Web Office; 干部管理
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 05. 027
[中圖分類號]F272.92;TP393[文獻標識碼]A[文章編號]1673 - 0194(2012)05- 0051- 02
1前言
隨著干部規模的不斷擴大,干部的信息量也不斷增加,需要開發有效的干部管理系統來提高干部管理工作的效率。以往各單位普遍采用的是人工管理形式,這種方式存在許多缺點,如效率低,統計煩瑣,容易出錯。因此如何利用較為先進的技術開發高效、安全、數據共享的信息化平臺,也就是設計出穩定、全面、有效、操作簡便的信息系統,就顯得尤為重要。通過這樣的系統可以做到信息的規范管理、科學統計和快速查詢,從而減少管理方面的工作量。
2Excel VBA簡介
Excel 是微軟辦公套裝軟件的一個重要組成部分,它可以進行各種數據的處理、統計分析和輔助決策操作,廣泛地應用于管理、統計、財經、金融等眾多領域。在實際工作中,Excel被大量應用,其特點是簡單易用,操作靈活。但是,Excel處理數據的缺點是,每一步都要由人工操作和控制,對重復性的工作,每次都要重復去做。
Excel VBA能夠將重復的工作編寫成程序,這樣就能夠提高效率和避免人為操作的錯誤。
VBA(Visual Basic for Applications)是微軟開發出來在其桌面應用程序中執行通用的自動化(OLE)任務的編程語言。在Excel中,使用VBA可以實現的功能主要包括:
(1) 創建報表。
(2) 對數據進行復雜的操作和分析。
(3) 使重復的工作自動化。
(4) 自定義Excel工具欄、菜單和界面。
(5) 自定義Excel,使其成為開發平臺。
3系統主要功能設計
系統由4個Sheet表組成:干部數據庫、干部基本信息表、干部任免審批表、干部信息統計。主要實現了3個方面的功能:干部數據的錄入、干部任免審批表的輸出和干部數據的統計。
(1) 干部數據的錄入。干部數據的錄入主要實現了干部數據由干部基本信息表錄入到干部數據庫當中。
(2) 干部任免審批表輸出。在干部數據庫中,選擇要輸出的信息行右擊后,點擊干部任免審批表實現數據輸出到干部任免審批表當中。
(3) 干部數據的統計。按級別、學歷、年齡統計干部數據。
4部分關鍵代碼
4.1干部基本信息表錄入數據
Application.ScreenUpdating = False
Dim I, x
x = 2
Do While Not (IsEmpty(Sheets("干部數據庫").Cells(x, 4).Value))
x = x + 1
Loop
flag = 0
For I = 1 To x
If Sheets("干部基本信息表").Cells(4, 4) = Sheets("干部數據庫").Cells(I, 4) And Sheets("干部基本信息表").Cells(3, 2) = Sheets("干部數據庫").Cells(I, 2) Then
flag = 9
Exit For
End If
Next
If flag = 9 Then
x = I
End If
If Sheets("干部基本信息表").Cells(3, 2) = "" Then
Sheets("干部基本信息表").Cells(3, 2) = ""
Else
Sheets("干部數據庫").Cells(x, 2) = Sheets("干部基本信息表").Cells(3, 2)'單位
Sheets("干部數據庫").Cells(x, 4) = Sheets("干部基本信息表").Cells(4, 4)'名字
Sheets("干部數據庫").Cells(x, 3) = Sheets("干部基本信息表").Cells(3, 5)'身份證號
Sheets("干部數據庫").Cells(x, 5) = Sheets("干部基本信息表").Cells(4, 6)'性別
Sheets("干部數據庫").Cells(x, 15) = Sheets("干部基本信息表").Cells(5, 2) '出生年月
以下省略
End If
End Sub
4.2干部任免審批表輸出
Sub yjcx()
Application.ScreenUpdating = False
Dim x
x = ActiveCell.Row
Sheets("干部任免審批表").Activate
Sheets("干部任免審批表").Cells(1, 2) = Sheets("干部數據庫").Cells(x, 2)
Sheets("干部任免審批表").Cells(1, 10) = Sheets("干部數據庫").Cells(x, 3)
Sheets("干部任免審批表").Cells(3, 2) = Sheets("干部數據庫").Cells(x, 4)
Sheets("干部任免審批表").Cells(3, 4) = Sheets("干部數據庫").Cells(x, 5)'性別
Sheets("干部任免審批表").Cells(4, 2) = Sheets("干部數據庫").Cells(x, 6)'民族
Sheets("干部任免審批表").Cells(4, 4) = Sheets("干部數據庫").Cells(x, 20)'籍貫
Sheets("干部任免審批表").Cells(4, 6) = Sheets("干部數據庫").Cells(x, 22)'出生地
以下省略
End if
End sub
4.3右鍵查詢功能
Private Sub workbook_open()
Dim mycontrol As CommandBarControl
Set mycontrol = Application.CommandBars("cell").Controls.Add
With mycontrol
.FaceId = 352
.Caption = "干部任免審批表"
.OnAction = "yjcx"
End With
End Sub
4.4統計函數
利用Sumproduct、Countif函數對干部數據進行統計分析。
4.5裝載入點聚Web Office
在操作系統中架設IIS服務,將點聚Web Office中ASP實例設為網站主目錄,輸入設置好的局域網網址,進入Web Office,新建一個Excel文件,將以上的代碼復制進去,即可以實現局域網訪問修改。
5結束語
本系統根據機關事業單位的實際需求進行設計和開發,切合實際。系統通用性能好,實用性強,易于推廣。此系統可以對干部數據等進行高效的管理,以便全面地掌握干部的整體情況,提高管理者的工作效率,減少管理過程中漏洞的出現。