李邐
摘要: Excel是微軟公司開發(fā)的電子表格軟件,具有強大的制表、繪圖和分析功能,并可以通過VBA來實現(xiàn)數(shù)據(jù)的程序化管理,在管理信息系統(tǒng)(MIS)的構(gòu)建過程中應(yīng)用越來越多,該文以住房公積金管理信息系統(tǒng)為例說明Excel構(gòu)建MIS的過程。
關(guān)鍵詞:Excel;MIS;公積金管理信息系統(tǒng)
中圖分類號:TP316 文獻標(biāo)識碼:A 文章編號:1009-3044(2015)13-0007-02
管理信息系統(tǒng)(Management Information Systems簡稱MIS),是一個不斷發(fā)展的新型學(xué)科,目前普遍認(rèn)為管理信息系統(tǒng)MIS是由人和計算機設(shè)備或其他信息處理手段、組成并用于管理信息的系統(tǒng)。一個完整的MIS系統(tǒng)主要由三部分組成:信息輸入、信息處理和信息輸出。在使用Excel開發(fā)管理信息系統(tǒng)中,主要的模塊不僅包括信息輸入、信息處理、信息輸出三個部分,此外還可以包括系統(tǒng)安全設(shè)置, 錯誤檢測設(shè)置等內(nèi)容。
Excel是辦公軟件Office中主要進行電子表格處理的軟件,表格的功能強大,既可以通過表格顯示、分析用戶數(shù)據(jù),也可以通過VBA功能管理數(shù)據(jù),用戶可以根據(jù)需求在Excel 中定制自己的表格,并輸出打印。由此可見,Excel不僅可以簡化程序設(shè)計過程,而且可以滿足了不同用戶的要求。本文主要設(shè)計一個公積金管理信息系統(tǒng),由于公積金屬于員工個人繳納,職務(wù)不同繳納比例不同,在設(shè)計應(yīng)用系統(tǒng)時,要考慮到不同的用戶的需求,保證系統(tǒng)功能可以適用于每一個用戶。
1 界面設(shè)計和功能分析
本系統(tǒng)主要包括對員工個人繳納的公積金按比例進行計算,員工信息管理,打印個人憑證等功能。設(shè)計的模塊包括公積金繳納、公積金調(diào)整、記賬憑證、用戶管理(修改密碼、更改用戶)等。其中,Excel中四個主要工作表及按鈕功能設(shè)定如下:
(1)主表單(如圖1所示)
主表單中主要包括六個按鈕:修改密碼、更改用戶、退出、打印記賬憑證、公積金調(diào)整、公積金繳納。由于該系統(tǒng)為個人公積金管理信息系統(tǒng),涉及財務(wù)信息,為了保證工作簿有充分的安全性,啟動時可以設(shè)計進入口令。
個人公積金調(diào)整:切換到公積金調(diào)整工作表。
個人公積金繳納:切換到公積金繳納工作表。
打印記賬憑證:切換到記賬憑證工作表。
修改密碼:對已經(jīng)存在的用戶的密碼進行重新設(shè)置。
更改用戶:可以重新定義已經(jīng)存在用戶。
退出:關(guān)閉工作簿,退出系統(tǒng)。
(2)公積金調(diào)整表(如圖2所示)
該工作表包括員工個人信息、工資信息及應(yīng)繳公積金金額,并設(shè)置三個按鈕,分別完成如下功能:添加新員工(為公司新進員工建立檔案以及收取公積金)、刪除員工(刪除離職員工并注銷他的公積金交納檔案)、查找員工(查找到符合條件的員工的基本公積金交納資料)。
(3)個人公積金繳納(如圖3所示)
該工作表記錄從2014年1月至目前員工公積繳納情況,設(shè)置三個按鈕,分別完成如下功能:查找員工(查找符合條件的員工,并自動計算出他的繳納總額和目前需要繳納的月公積金)、統(tǒng)計總額(計算出目前所有的公積金總額)、刪除員工(主要實現(xiàn)在個人公積金調(diào)整表和個人公積金繳納表中的同時刪除,當(dāng)一個表文件中刪除某個員工信息,另一個表自動刪除相應(yīng)員工信息)。
(4)記賬憑證(如圖4所示)
該工作表主要完成個人記賬憑證的打印操作,包括一個打印憑證按鈕。
2 代碼
由于篇幅有限,本文中只給出主表單中相關(guān)控件及登錄口令部分的代碼。
(1)登錄口令代碼
Option Explicit
Dim NameStr As String
Dim TempCount As Integer
Sub auto_open()
Dim TempInt As Integer
Dim CodeStr As String
Dim FoundNameFlag As Boolean
NameStr = InputBox("請輸入您的姓名:", "輸入")
TempInt = 3
FoundNameFlag = False
Do While Not (IsEmpty(Sheets("用戶表").Cells(TempInt, 1).Value))
TempInt = TempInt + 1
Loop
For TempCount = 3 To (TempInt - 1)
If (NameStr = Sheets("用戶表").Cells(TempCount, 1)) Then
FoundNameFlag = True
Exit For
End If
Next TempCount
If (FoundNameFlag = False) Then
MsgBox "非系統(tǒng)操作員,請與系統(tǒng)管理員聯(lián)系", vbOKOnly, "錯誤登錄"
Workbooks.Close
End If
CodeStr = InputBox("請輸入你的密碼")
If (CodeStr = Sheets("用戶表").Cells(TempCount, 2)) Then
MsgBox "歡迎" & NameStr & "登錄本系統(tǒng)", vbOKOnly, "歡迎"
ActiveWorkbook.Unprotect Password:="vba"
Sheets("主菜單").Select
End If
End Sub
Sub auto_close()
MsgBox "謝謝" & NameStr & "使用本系統(tǒng)"
Sheets("主表單").Select
ActiveWorkbook.Protect Password:="vba", structure:=True, Windows:=True
Workbooks.Close
End Sub
(2)公積金調(diào)整按鈕代碼,切換至公積金調(diào)整工作表
Private Sub CommandButton1_Click()
Sheets("公積金調(diào)整").Select
End Sub
(3)公積金繳納按鈕代碼,切換至公積金繳納工作表
Private Sub CommandButton2_Click()
Sheets("公積金繳納").Select
End Sub
(4)打印記賬憑證按鈕代碼(切換至記賬憑證工作表)
Private Sub CommandButton3_Click()
Sheets("打印記賬憑證").Select
End Sub
(5)修改密碼按鈕代碼
Private Sub CommandButton4_Click()
Dim TempStr As String
TempStr = InputBox("請輸入新的密碼", "密碼更改")
If TempStr = InputBox("請再輸入一次新的密碼", "密碼更改") Then
Sheets("用戶表").Cells(TempCount, 2).Value = TempStr
MsgBox "密碼已經(jīng)更改", vbOKOnly, "密碼更改成功"
Else
MsgBox "兩次輸入不一致,請檢查", vbOKOnly, "密碼更改出錯"
End If
Sheets("主表單").Select
End Sub
(6)更改用戶按鈕代碼
Private Sub CommandButton5_Click()
Dim TempInt As Integer
Dim CodeStr As String
Dim FoundNameFlag As Boolean
NameStr = InputBox("請輸入您的姓名", "輸入")
TempInt = 3
FoundNameFlag = False
Do While Not (IsEmpty(Sheets("用戶表").Cells(TempInt, 1).Value))
TempInt = TempInt + 1
Loop
For TempCount = 3 To (TempInt - 1)
If (NameStr = Sheets("用戶表").Cells(TempCount, 1)) Then
FoundNameFlag = True
Exit For
End If
Next TempCount
If (FoundNameFlag = False) Then
MsgBox "非系統(tǒng)操作員,請與系統(tǒng)管理員聯(lián)系", vbOKOnly, "錯誤登錄"
Workbooks.Close
End If
CodeStr = InputBox("請輸入你的密碼")
If (CodeStr = Sheets("用戶表").Cells(TempCount, 2)) Then
MsgBox "歡迎" & NameStr & "登錄本系統(tǒng)", vbOKOnly, "歡迎"
ActiveWorkbook.Unprotect Password:="vba"
Sheets("主菜單").Select
Else
MsgBox "登錄密碼錯誤", vbOKOnly, "登錄錯誤"
Workbooks.Close
End If
End Sub
(7)退出按鈕代碼(清除用戶名,并退出)
Private Sub CommandButton6_Click()
NameStr = ""
TempCount = 3
Workbooks.Close
End Sub
3 小結(jié)
本文以公積金管理信息系統(tǒng)的開發(fā)為例,說明Excel在開發(fā)MIS的應(yīng)用, Excel強大的表格功能以及軟件提供的VBA二次開發(fā)平臺,為快速、便捷開發(fā)功能完善的管理信息系統(tǒng)提供有效手段。
參考文獻:
[1]孫敬杰.Excel VBA入門與實例演練[M].中國青年電子出版社,2005.
[2]袁文華,謝晟.如何利用Excel函數(shù)建立住房公積金管理系統(tǒng)[J].中國管理信息化,2010(6).