畢克書
[摘要] 機關事業(yè)單位干部信息的統(tǒng)計和管理工作,任務重,數(shù)據(jù)量大。本文針對這一問題,利用Excel VBA設計開發(fā)干部管理系統(tǒng),并結(jié)合點聚公司開發(fā)的Web Office,實現(xiàn)局域網(wǎng)查看、修改、保存,大大地提高了工作效率,方便快捷地進行干部管理工作。
[關鍵詞] 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前言
隨著干部規(guī)模的不斷擴大,干部的信息量也不斷增加,需要開發(fā)有效的干部管理系統(tǒng)來提高干部管理工作的效率。以往各單位普遍采用的是人工管理形式,這種方式存在許多缺點,如效率低,統(tǒng)計煩瑣,容易出錯。因此如何利用較為先進的技術開發(fā)高效、安全、數(shù)據(jù)共享的信息化平臺,也就是設計出穩(wěn)定、全面、有效、操作簡便的信息系統(tǒng),就顯得尤為重要。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而減少管理方面的工作量。
2Excel VBA簡介
Excel 是微軟辦公套裝軟件的一個重要組成部分,它可以進行各種數(shù)據(jù)的處理、統(tǒng)計分析和輔助決策操作,廣泛地應用于管理、統(tǒng)計、財經(jīng)、金融等眾多領域。在實際工作中,Excel被大量應用,其特點是簡單易用,操作靈活。但是,Excel處理數(shù)據(jù)的缺點是,每一步都要由人工操作和控制,對重復性的工作,每次都要重復去做。
Excel VBA能夠?qū)⒅貜偷墓ぷ骶帉懗沙绦颍@樣就能夠提高效率和避免人為操作的錯誤。
VBA(Visual Basic for Applications)是微軟開發(fā)出來在其桌面應用程序中執(zhí)行通用的自動化(OLE)任務的編程語言。在Excel中,使用VBA可以實現(xiàn)的功能主要包括:
(1) 創(chuàng)建報表。
(2) 對數(shù)據(jù)進行復雜的操作和分析。
(3) 使重復的工作自動化。
(4) 自定義Excel工具欄、菜單和界面。
(5) 自定義Excel,使其成為開發(fā)平臺。
3系統(tǒng)主要功能設計
系統(tǒng)由4個Sheet表組成:干部數(shù)據(jù)庫、干部基本信息表、干部任免審批表、干部信息統(tǒng)計。主要實現(xiàn)了3個方面的功能:干部數(shù)據(jù)的錄入、干部任免審批表的輸出和干部數(shù)據(jù)的統(tǒng)計。
(1) 干部數(shù)據(jù)的錄入。干部數(shù)據(jù)的錄入主要實現(xiàn)了干部數(shù)據(jù)由干部基本信息表錄入到干部數(shù)據(jù)庫當中。
(2) 干部任免審批表輸出。在干部數(shù)據(jù)庫中,選擇要輸出的信息行右擊后,點擊干部任免審批表實現(xiàn)數(shù)據(jù)輸出到干部任免審批表當中。
(3) 干部數(shù)據(jù)的統(tǒng)計。按級別、學歷、年齡統(tǒng)計干部數(shù)據(jù)。
4部分關鍵代碼
4.1干部基本信息表錄入數(shù)據(jù)
Application.ScreenUpdating = False
Dim I, x
x = 2
Do While Not (IsEmpty(Sheets("干部數(shù)據(jù)庫").Cells(x, 4).Value))
x = x + 1
Loop
flag = 0
For I = 1 To x
If Sheets("干部基本信息表").Cells(4, 4) = Sheets("干部數(shù)據(jù)庫").Cells(I, 4) And Sheets("干部基本信息表").Cells(3, 2) = Sheets("干部數(shù)據(jù)庫").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("干部數(shù)據(jù)庫").Cells(x, 2) = Sheets("干部基本信息表").Cells(3, 2)'單位
Sheets("干部數(shù)據(jù)庫").Cells(x, 4) = Sheets("干部基本信息表").Cells(4, 4)'名字
Sheets("干部數(shù)據(jù)庫").Cells(x, 3) = Sheets("干部基本信息表").Cells(3, 5)'身份證號
Sheets("干部數(shù)據(jù)庫").Cells(x, 5) = Sheets("干部基本信息表").Cells(4, 6)'性別
Sheets("干部數(shù)據(jù)庫").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("干部數(shù)據(jù)庫").Cells(x, 2)
Sheets("干部任免審批表").Cells(1, 10) = Sheets("干部數(shù)據(jù)庫").Cells(x, 3)
Sheets("干部任免審批表").Cells(3, 2) = Sheets("干部數(shù)據(jù)庫").Cells(x, 4)
Sheets("干部任免審批表").Cells(3, 4) = Sheets("干部數(shù)據(jù)庫").Cells(x, 5)'性別
Sheets("干部任免審批表").Cells(4, 2) = Sheets("干部數(shù)據(jù)庫").Cells(x, 6)'民族
Sheets("干部任免審批表").Cells(4, 4) = Sheets("干部數(shù)據(jù)庫").Cells(x, 20)'籍貫
Sheets("干部任免審批表").Cells(4, 6) = Sheets("干部數(shù)據(jù)庫").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統(tǒng)計函數(shù)
利用Sumproduct、Countif函數(shù)對干部數(shù)據(jù)進行統(tǒng)計分析。
4.5裝載入點聚Web Office
在操作系統(tǒng)中架設IIS服務,將點聚Web Office中ASP實例設為網(wǎng)站主目錄,輸入設置好的局域網(wǎng)網(wǎng)址,進入Web Office,新建一個Excel文件,將以上的代碼復制進去,即可以實現(xiàn)局域網(wǎng)訪問修改。
5結(jié)束語
本系統(tǒng)根據(jù)機關事業(yè)單位的實際需求進行設計和開發(fā),切合實際。系統(tǒng)通用性能好,實用性強,易于推廣。此系統(tǒng)可以對干部數(shù)據(jù)等進行高效的管理,以便全面地掌握干部的整體情況,提高管理者的工作效率,減少管理過程中漏洞的出現(xiàn)。