您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > EXCEL VBA行政与人力资源管理应用案例详解 第3章
CHAPTER系统管理模块的设计3-1单位信息子模块3-2修改登录用户名子模块3-3修改用户登录密码子模块3-4设置系统参数子模块3-5系统提醒子模块3-6数据库维护子模块3-7为【系统管理】自定义菜单项和自定义工具栏命令按钮指定宏行政与人力资源管理应用案例详解系统管理模块是人力资源管理系统的一个基础模块,包括“单位信息”、“修改用户名”、“修改密码”、“设置系统参数”、“系统提醒”和“数据库维护”等基本子模块,分别用于显示单位信息、修改登录用户名、修改登录密码、设置系统提醒参数、显示系统提醒信息、以及对数据库中各个数据表的文本型字段长度进行修改。读者还可以根据企业的具体情况,增加或删除一些子模块。3-1单位信息子模块单位信息子模块用于保存和显示单位信息。单位信息保存在一个名为“单位信息”的工作表中。用户可以直接在“单位信息”工作表中按照指定的格式输入单位信息,也可以执行自定义菜单【系统管理】中的【单位信息】命令,打开单位信息窗体,在单位信息窗体上输入、查看、修改单位信息。3-1-1设计单位信息工作表“单位信息”工作表的结构如图3-1所示,它保存单位的一些主要信息资料。A列是信息名称,B列是具体信息资料数据。“单位信息”工作表是一个普通隐藏工作表,执行Excel的【格式】菜单中的【工作表】子菜单的【取消隐藏】命令,打开【取消隐藏】对话框,如图3-2所示,选中“单位信息”选项,单击【确定】按钮,即可取消对“单位信息”工作表的隐藏,并激活该工作表。图3-1“单位信息”工作表结构图3-2【取消隐藏】对话框3-1-2设计单位信息窗体单位信息窗体的结构如图3-3所示。单位信息窗体由1个用户窗体、1个框架、10个标签、10个文本框和2个命令按钮组成,用户窗体和各个控件的功能及属性设置说明如下。(1)用户窗体:名称属性设置和Caption属性均设置为“单位信息”。(2)框架Frame1:将10个标签和10个文本框组合在一起,其Caption属性设置为空值。(3)标签Label1~Label10:对10个文本框的功能进行说明,它们的Caption属性分别设置为“单位名称:”、“法人代表:”、“成立日期:”、“联系电话:”、“传真:”、“电124系统管理模块的设计3子邮箱:”、“邮政编码:”、“联系地址:”、“网址:”和“简介:”。(4)10个文本框:分别用于输入或显示单位名称、单位法人代表名字、单位成立日期、单位联系电话、传真号码、电子邮箱、邮政编码、联系地址、网址和单位简介,其名称属性分别设置为“单位名称”、“法人代表”、“成立日期”、“联系电话”、“传真”、“电子邮箱”、“邮政编码”、“联系地址”、“网址”和“简介”。图3-3“单位信息”窗体结构(5)命令按钮CommandButton1:当输入单位信息或对单位信息进行修改后,单击此按钮将单位信息数据保存到工作表,同时对系统工作簿“人力资源管理系统.xls”进行保存,其Caption属性设置为“确定”。(7)命令按钮CommandButton2:取消操作,关闭单位信息窗体,其Caption属性设置为“退出”,Cancel属性设置为True。3-1-3设计程序代码(1)首先定义下面的模块级变量,它们放在用户窗体对象程序代码窗口的顶部:DimwsAsWorksheet'定义工作表对象变量DimmyTextBoxAsVariant'定义保存文本框名称数组变量(2)为用户窗体设置Initialize事件,当启动窗体时,就从“单位信息”工作表中提取单位信息,并显示在窗体上。程序代码如下:PrivateSubUserForm_Initialize()DimiAsIntegerSetws=Worksheets(单位信息)myTextBox=Array(单位名称,法人代表,成立日期,联系电话,_传真,电子邮箱,邮政编码,联系地址,网址,简介)Fori=0ToUBound(myTextBox)Me.Controls(myTextBox(i)).Value=ws.Range(B&i+2)NextiMe.成立日期.Value=Format(Me.成立日期.Value,yyyy-mm-dd)EndSub(3)对“确定”命令按钮CommandButton1设置Click事件,单击此按钮,就将窗体上的单位信息保存到“单位信息”工作表,同时也对系统工作簿进行保存。程序代码如下:125行政与人力资源管理应用案例详解PrivateSubCommandButton1_Click()OnErrorResumeNextDimczyAsString,yhmAsStringws.Range(A1)=单位信息ws.Range(A1:B1).SelectWithSelection.Merge.HorizontalAlignment=xlCenter.Font.Size=22EndWithFori=0ToUBound(myTextBox)ws.Range(A&i+2)=myTextBox(i)ws.Range(B&i+2)=Me.Controls(myTextBox(i)).ValueNextiws.Range(A2:B3,A5:B11).NumberFormatLocal=@ws.Range(A4:B4).SelectSelection.NumberFormatLocal=yyyy年m月d日Selection.HorizontalAlignment=xlLeftws.Columns.AutoFitws.Cells.Interior.ColorIndex=2ws.Range(A2:B11).SelectWithSelection.Borders(xlEdgeLeft).Weight=xlThin.Borders(xlEdgeTop).Weight=xlThin.Borders(xlEdgeBottom).Weight=xlThin.Borders(xlEdgeRight).Weight=xlThin.Borders(xlInsideVertical).Weight=xlThin.Borders(xlInsideHorizontal).Weight=xlThin.RowHeight=16EndWithws.Range(A2).Select'将首页工作簿设置为启动时状态czy=Sheets(首页).Range(A29).Valueyhm=Sheets(首页).Range(A30).ValueSheets(首页).UnprotectSheets(首页).Range(A29)=Sheets(首页).Range(A30)=Sheets(首页).ProtectThisWorkbook.Save'保存工作簿'将首页工作簿设置为启动后的状态Sheets(首页).UnprotectSheets(首页).Range(A29)=czySheets(首页).Range(A30)=yhmSheets(首页).ProtectEndSub(4)对“退出”命令按钮CommandButton2设置Click事件,单击此按钮,就关闭窗体。程序代码如下:PrivateSubCommandButton2_Click()EndEndSub126系统管理模块的设计33-1-4显示单位信息执行人力资源管理系统的自定义菜单【系统管理】中的【单位信息】命令,系统即启动“单位信息”窗体,显示单位的基本信息,如图3-4所示。图3-4显示单位信息3-2修改登录用户名子模块修改用户名,是加强系统保护的重要操作操作之一。修改用户名是通过一个“修改用户名”的窗体进行的,下面介绍“修改用户名”窗体的结构设计和程序设计。3-2-1修改用户名窗体结构设计修改用户名窗体的结构如图3-5所示,它由1个用户窗体、3个标签、3个文本框和2个命令按钮组成,用户窗体和各个控件的功能及属性设置分别说明如下。图3-5修改用户名窗口结构(1)用户窗体:名称属性设置为“修改用户名”,Caption属性设置为“修改用户名”。(2)标签Label1~Label3:对3个文本框的功能进行说明,它们的Caption属性分别设置为“原用户名”、“新用户名:”和“确认用户名:”。(3)文本框TextBox1:用于输入原用户名,其名称属性设置为“原用户名”。(4)文本框TextBox2:用于输入新用户名,其名称属性设置为“新用户名”。127行政与人力资源管理应用案例详解(5)文本框TextBox3:再输入一遍新用户名,用于确认输入的新用户名,其名称属性设置为“确认新用户名”。(6)命令按钮CommandButton1:输入新用户名后,单击此按钮完成用户名修改,并保存系统工作簿,其Caption属性设置为“确定”,Default属性设置为True。(7)命令按钮CommandButton2:取消用户名修改,其Caption属性设置为“取消”,Cancel属性设置为True。3-2-2程序代码设计对2个命令按钮设置Click事件,并编写如下的程序代码:PrivateSubCommandButton1_Click()OnErrorGoToerrorhandleDimwsAsWorksheet,noExistAsBoolean,czyAsString,yhmAsStringnoExist=FalseIf新用户名.Text原用户名.TextThenMsgBox两次输入的新用户名不一样!请重新输入新用户名!,vbCritical,警告新用户名.Text=:原用户名.Text=:新用户名.SetFocus:ExitSubEndIfSetws=Worksheets(用户名密码)Fori=1Tows.Range(A65536).End(xlUp).RowIfws.Range(A&i).Text=原用户名.TextThenws.UnprotectPassword:=hxlws.Range(A&i)=新用户名.Text:ws.Range(C&i)=Now()ws.ProtectPassword:=hxl'将首页工作表中的当前用户名进行修改Sheets(首页).UnprotectSheets(首页).Range(A30)=新用户名.Text原用户名.Text=:新用户名.Text=:确认新用户名.Text=MsgBox用户名修改成功!请记好您的新用户名!,_vbInformation,用户名修改成功Unload修改用户名'将首页工作簿设置为启动时状态czy=Sheets(首页).Range(A29).Valueyhm=Sheets(首页).Range(A30).ValueSheets(首页).Range(A29)=:Sheets(首页).Range(A30)=Sheets(首页).ProtectThisWorkbook.Save'保存工作簿'将首页工作簿设置为启动后的状态Sheets(首页).UnprotectSheets(首页).Range(A29)=czy:Sheets(首页).Range(A30)=yhmSheets(首页).ProtectExitSubElsenoExist=TrueEndIfNextiIfnoExist=TrueThenMsgBox没有用户名&原用户名.Text&!,vbCritical,警告Unload修改用户名EndIf128系统管理模块的设计3errorhandle:IfErr.Number0ThenMsgBox错误!+CStr(Err.Description),vbCritical,错误EndIfEndSubPrivateSubCommandButton2_Click()Unload修改用户名EndSub3-2-3修改用户名示例系统只允许对已经存在的用户名进行修改。当用户名修改成功后,系统就会弹出【用户名修改成功】的对话框,如图3-6所示,单击【确定】按钮后,系统将自动保存用户名修改信息。如果输入了不存在的用户名,系统会弹出没有用户名的【警告】对话框,如图3-7所示,单击【确定】按钮后,系统将退出用户名
本文标题:EXCEL VBA行政与人力资源管理应用案例详解 第3章
链接地址:https://www.777doc.com/doc-950224 .html