李逦
摘要: Excel是微软公司开发的电子表格软件,具有强大的制表、绘图和分析功能,并可以通过VBA来实现数据的程序化管理,在管理信息系统(MIS)的构建过程中应用越来越多,该文以住房公积金管理信息系统为例说明Excel构建MIS的过程。
关键词:Excel;MIS;公积金管理信息系统
中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2015)13-0007-02
管理信息系统(Management Information Systems简称MIS),是一个不断发展的新型学科,目前普遍认为管理信息系统MIS是由人和计算机设备或其他信息处理手段、组成并用于管理信息的系统。一个完整的MIS系统主要由三部分组成:信息输入、信息处理和信息输出。在使用Excel开发管理信息系统中,主要的模块不仅包括信息输入、信息处理、信息输出三个部分,此外还可以包括系统安全设置, 错误检测设置等内容。
Excel是办公软件Office中主要进行电子表格处理的软件,表格的功能强大,既可以通过表格显示、分析用户数据,也可以通过VBA功能管理数据,用户可以根据需求在Excel 中定制自己的表格,并输出打印。由此可见,Excel不仅可以简化程序设计过程,而且可以满足了不同用户的要求。本文主要设计一个公积金管理信息系统,由于公积金属于员工个人缴纳,职务不同缴纳比例不同,在设计应用系统时,要考虑到不同的用户的需求,保证系统功能可以适用于每一个用户。
1 界面设计和功能分析
本系统主要包括对员工个人缴纳的公积金按比例进行计算,员工信息管理,打印个人凭证等功能。设计的模块包括公积金缴纳、公积金调整、记账凭证、用户管理(修改密码、更改用户)等。其中,Excel中四个主要工作表及按钮功能设定如下:
(1)主表单(如图1所示)
主表单中主要包括六个按钮:修改密码、更改用户、退出、打印记账凭证、公积金调整、公积金缴纳。由于该系统为个人公积金管理信息系统,涉及财务信息,为了保证工作簿有充分的安全性,启动时可以设计进入口令。
个人公积金调整:切换到公积金调整工作表。
个人公积金缴纳:切换到公积金缴纳工作表。
打印记账凭证:切换到记账凭证工作表。
修改密码:对已经存在的用户的密码进行重新设置。
更改用户:可以重新定义已经存在用户。
退出:关闭工作簿,退出系统。
(2)公积金调整表(如图2所示)
该工作表包括员工个人信息、工资信息及应缴公积金金额,并设置三个按钮,分别完成如下功能:添加新员工(为公司新进员工建立档案以及收取公积金)、删除员工(删除离职员工并注销他的公积金交纳档案)、查找员工(查找到符合条件的员工的基本公积金交纳资料)。
(3)个人公积金缴纳(如图3所示)
该工作表记录从2014年1月至目前员工公积缴纳情况,设置三个按钮,分别完成如下功能:查找员工(查找符合条件的员工,并自动计算出他的缴纳总额和目前需要缴纳的月公积金)、统计总额(计算出目前所有的公积金总额)、删除员工(主要实现在个人公积金调整表和个人公积金缴纳表中的同时删除,当一个表文件中删除某个员工信息,另一个表自动删除相应员工信息)。
(4)记账凭证(如图4所示)
该工作表主要完成个人记账凭证的打印操作,包括一个打印凭证按钮。
2 代码
由于篇幅有限,本文中只给出主表单中相关控件及登录口令部分的代码。
(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 "非系统操作员,请与系统管理员联系", vbOKOnly, "错误登录"
Workbooks.Close
End If
CodeStr = InputBox("请输入你的密码")
If (CodeStr = Sheets("用户表").Cells(TempCount, 2)) Then
MsgBox "欢迎" & NameStr & "登录本系统", vbOKOnly, "欢迎"
ActiveWorkbook.Unprotect Password:="vba"
Sheets("主菜单").Select
End If
End Sub
Sub auto_close()
MsgBox "谢谢" & NameStr & "使用本系统"
Sheets("主表单").Select
ActiveWorkbook.Protect Password:="vba", structure:=True, Windows:=True
Workbooks.Close
End Sub
(2)公积金调整按钮代码,切换至公积金调整工作表
Private Sub CommandButton1_Click()
Sheets("公积金调整").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 "密码已经更改", 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 "非系统操作员,请与系统管理员联系", vbOKOnly, "错误登录"
Workbooks.Close
End If
CodeStr = InputBox("请输入你的密码")
If (CodeStr = Sheets("用户表").Cells(TempCount, 2)) Then
MsgBox "欢迎" & NameStr & "登录本系统", 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 小结
本文以公积金管理信息系统的开发为例,说明Excel在开发MIS的应用, Excel强大的表格功能以及软件提供的VBA二次开发平台,为快速、便捷开发功能完善的管理信息系统提供有效手段。
参考文献:
[1]孙敬杰.Excel VBA入门与实例演练[M].中国青年电子出版社,2005.
[2]袁文华,谢晟.如何利用Excel函数建立住房公积金管理系统[J].中国管理信息化,2010(6).