EXCEL VBA行政与人力资源管理应用案例详解 第3章.pdf
《EXCEL VBA行政与人力资源管理应用案例详解 第3章.pdf》由会员分享,可在线阅读,更多相关《EXCEL VBA行政与人力资源管理应用案例详解 第3章.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C H A P T E R 系统管理模块的设计 3-1 单位信息子模块 3-2 修改登录用户名子模块 3-3 修改用户登录密码子模块 3-4 设置系统参数子模块 3-5 系统提醒子模块 3-6 数据库维护子模块 3-7 为【系统管理】自定义菜单项和自定义工具栏命令按钮指定宏 行政与人力资源管理应用案例详解 系统管理模块是人力资源管理系统的一个基础模块,包括“单位信息”、“修改用户名”、“修改密码”、“设置系统参数”、“系统提醒”和“数据库维护”等基本子模块,分别用于显示单位信息、修改登录用户名、修改登录密码、设置系统提醒参数、显示系统提醒信息、以及对数据库中各个数据表的文本型字段长度进行修改
2、。读者还可以根据企业的具体情况,增加或删除一些子模块。3-1 单位信息子模块 单位信息子模块用于保存和显示单位信息。单位信息保存在一个名为“单位信息”的工作表中。用户可以直接在“单位信息”工作表中按照指定的格式输入单位信息,也可以执行自定义菜单【系统管理】中的【单位信息】命令,打开单位信息窗体,在单位信息窗体上输入、查看、修改单位信息。3-1-1 设计单位信息工作表“单位信息”工作表的结构如图 3-1 所示,它保存单位的一些主要信息资料。A 列是信息名称,B 列是具体信息资料数据。“单位信息”工作表是一个普通隐藏工作表,执行 Excel 的【格式】菜单中的【工作表】子菜单的【取消隐藏】命令,打
3、开【取消隐藏】对话框,如图 3-2 所示,选中“单位信息”选项,单击【确定】按钮,即可取消对“单位信息”工作表的隐藏,并激活该工作表。图 3-1 “单位信息”工作表结构 图 3-2 【取消隐藏】对话框 3-1-2 设计单位信息窗体 单位信息窗体的结构如图 3-3 所示。单位信息窗体由 1 个用户窗体、1 个框架、10 个标签、10 个文本框和 2 个命令按钮组成,用户窗体和各个控件的功能及属性设置说明如下。(1)用户窗体:名称属性设置和 Caption 属性均设置为“单位信息”。(2)框架 Frame1:将 10 个标签和 10 个文本框组合在一起,其 Caption 属性设置为空值。(3)标
4、签 Label1Label10:对 10 个文本框的功能进行说明,它们的 Caption 属性分别设置为“单位名称:”、“法人代表:”、“成立日期:”、“联系电话:”、“传真:”、“电 124 系统管理模块的设计 3 子邮箱:”、“邮政编码:”、“联系地址:”、“网址:”和“简介:”。(4)10 个文本框:分别用于输入或显示单位名称、单位法人代表名字、单位成立日期、单位联系电话、传真号码、电子邮箱、邮政编码、联系地址、网址和单位简介,其名称属性分别设置为“单位名称”、“法人代表”、“成立日期”、“联系电话”、“传真”、“电子邮箱”、“邮政编码”、“联系地址”、“网址”和“简介”。图 3-3 “
5、单位信息”窗体结构(5)命令按钮 CommandButton1:当输入单位信息或对单位信息进行修改后,单击此按钮将单位信息数据保存到工作表,同时对系统工作簿“人力资源管理系统.xls”进行保存,其 Caption 属性设置为“确定”。(7)命令按钮 CommandButton2:取消操作,关闭单位信息窗体,其 Caption 属性设置为“退出”,Cancel 属性设置为 True。3-1-3 设计程序代码(1)首先定义下面的模块级变量,它们放在用户窗体对象程序代码窗口的顶部:Dim ws As Worksheet 定义工作表对象变量 Dim myTextBox As Variant 定义保存文
6、本框名称数组变量(2)为用户窗体设置 Initialize 事件,当启动窗体时,就从“单位信息”工作表中提取单位信息,并显示在窗体上。程序代码如下:Private Sub UserForm_Initialize()Dim i As Integer Set ws=Worksheets(单位信息)myTextBox=Array(单位名称,法人代表,成立日期,联系电话,_ 传真,电子邮箱,邮政编码,联系地址,网址,简介)For i=0 To UBound(myTextBox)Me.Controls(myTextBox(i).Value=ws.Range(B&i+2)Next i Me.成立日期.Va
7、lue=Format(Me.成立日期.Value,yyyy-mm-dd)End Sub(3)对“确定”命令按钮 CommandButton1 设置 Click 事件,单击此按钮,就将窗体上的单位信息保存到“单位信息”工作表,同时也对系统工作簿进行保存。程序代码如下:125 行政与人力资源管理应用案例详解Private Sub CommandButton1_Click()On Error Resume Next Dim czy As String,yhm As String ws.Range(A1)=单位信息 ws.Range(A1:B1).Select With Selection .Merg
8、e .HorizontalAlignment=xlCenter .Font.Size=22 End With For i=0 To UBound(myTextBox)ws.Range(A&i+2)=myTextBox(i)ws.Range(B&i+2)=Me.Controls(myTextBox(i).Value Next i ws.Range(A2:B3,A5:B11).NumberFormatLocal=ws.Range(A4:B4).Select Selection.NumberFormatLocal=yyyy年m月d日 Selection.HorizontalAlignment=xlL
9、eft ws.Columns.AutoFit ws.Cells.Interior.ColorIndex=2 ws.Range(A2:B11).Select With Selection .Borders(xlEdgeLeft).Weight=xlThin .Borders(xlEdgeTop).Weight=xlThin .Borders(xlEdgeBottom).Weight=xlThin .Borders(xlEdgeRight).Weight=xlThin .Borders(xlInsideVertical).Weight=xlThin .Borders(xlInsideHorizon
10、tal).Weight=xlThin .RowHeight=16 End With ws.Range(A2).Select 将首页工作簿设置为启动时状态 czy=Sheets(首页).Range(A29).Value yhm=Sheets(首页).Range(A30).Value Sheets(首页).Unprotect Sheets(首页).Range(A29)=Sheets(首页).Range(A30)=Sheets(首页).Protect ThisWorkbook.Save 保存工作簿 将首页工作簿设置为启动后的状态 Sheets(首页).Unprotect Sheets(首页).Ran
11、ge(A29)=czy Sheets(首页).Range(A30)=yhm Sheets(首页).Protect End Sub(4)对“退出”命令按钮 CommandButton2 设置 Click 事件,单击此按钮,就关闭窗体。程序代码如下:Private Sub CommandButton2_Click()End End Sub 126 系统管理模块的设计 3 3-1-4 显示单位信息 执行人力资源管理系统的自定义菜单【系统管理】中的【单位信息】命令,系统即启动“单位信息”窗体,显示单位的基本信息,如图 3-4 所示。图 3-4 显示单位信息 3-2 修改登录用户名子模块 修改用户名,是
12、加强系统保护的重要操作操作之一。修改用户名是通过一个“修改用户名”的窗体进行的,下面介绍“修改用户名”窗体的结构设计和程序设计。3-2-1 修改用户名窗体结构设计 修改用户名窗体的结构如图 3-5 所示,它由 1 个用户窗体、3 个标签、3 个文本框和 2个命令按钮组成,用户窗体和各个控件的功能及属性设置分别说明如下。图 3-5 修改用户名窗口结构(1)用户窗体:名称属性设置为“修改用户名”,Caption 属性设置为“修改用户名”。(2)标签 Label1Label3:对 3 个文本框的功能进行说明,它们的 Caption 属性分别设置为“原用户名”、“新用户名:”和“确认用户名:”。(3)
13、文本框 TextBox1:用于输入原用户名,其名称属性设置为“原用户名”。(4)文本框 TextBox2:用于输入新用户名,其名称属性设置为“新用户名”。127 行政与人力资源管理应用案例详解(5)文本框 TextBox3:再输入一遍新用户名,用于确认输入的新用户名,其名称属性设置为“确认新用户名”。(6)命令按钮 CommandButton1:输入新用户名后,单击此按钮完成用户名修改,并保存系统工作簿,其 Caption 属性设置为“确定”,Default 属性设置为 True。(7)命令按钮 CommandButton2:取消用户名修改,其 Caption 属性设置为“取消”,Cancel
14、 属性设置为 True。3-2-2 程序代码设计 对 2 个命令按钮设置 Click 事件,并编写如下的程序代码:Private Sub CommandButton1_Click()On Error GoTo errorhandle Dim ws As Worksheet,noExist As Boolean,czy As String,yhm As String noExist=False If 新用户名.Text 原用户名.Text Then MsgBox 两次输入的新用户名不一样!请重新输入新用户名!,vbCritical,警告 新用户名.Text=:原用户名.Text=:新用户名.Se
15、tFocus:Exit Sub End If Set ws=Worksheets(用户名密码)For i=1 To ws.Range(A65536).End(xlUp).Row If ws.Range(A&i).Text=原用户名.Text Then ws.Unprotect Password:=hxl ws.Range(A&i)=新用户名.Text:ws.Range(C&i)=Now()ws.Protect Password:=hxl 将首页工作表中的当前用户名进行修改 Sheets(首页).Unprotect Sheets(首页).Range(A30)=新用户名.Text 原用户名.Tex
16、t=:新用户名.Text=:确认新用户名.Text=MsgBox 用户名修改成功!请记好您的新用户名!,_ vbInformation,用户名修改成功 Unload 修改用户名 将首页工作簿设置为启动时状态 czy=Sheets(首页).Range(A29).Value yhm=Sheets(首页).Range(A30).Value Sheets(首页).Range(A29)=:Sheets(首页).Range(A30)=Sheets(首页).Protect ThisWorkbook.Save 保存工作簿 将首页工作簿设置为启动后的状态 Sheets(首页).Unprotect Sheets(
17、首页).Range(A29)=czy:Sheets(首页).Range(A30)=yhm Sheets(首页).Protect Exit Sub Else noExist=True End If Next i If noExist=True Then MsgBox 没有用户名&原用户名.Text&!,vbCritical,警告 Unload 修改用户名 End If 128 系统管理模块的设计 3 errorhandle:If Err.Number 0 Then MsgBox 错误!+CStr(Err.Description),vbCritical,错误 End If End Sub Priv
18、ate Sub CommandButton2_Click()Unload 修改用户名 End Sub 3-2-3 修改用户名示例 系统只允许对已经存在的用户名进行修改。当用户名修改成功后,系统就会弹出【用户名修改成功】的对话框,如图 3-6 所示,单击【确定】按钮后,系统将自动保存用户名修改信息。如果输入了不存在的用户名,系统会弹出没有用户名的【警告】对话框,如图 3-7 所示,单击【确定】按钮后,系统将退出用户名修改程序。图 3-6 【用户名修改成功】对话框 图 3-7 【警告】对话框 3-3 修改用户登录密码子模块 修改用户登录密码,也是加强系统保护的重要操作之一。修改用户登录密码是通过一
19、个“修改密码”的窗体进行的,下面介绍“修改密码”窗体的结构设计和程序设计。3-3-1 修改密码窗体结构设计 修改密码窗体的结构如图 3-8 所示,它由 1 个用户窗体、3 个标签、3 个文本框和 2 个命令按钮组成,用户窗体和各个控件的功能及属性设置分别说明如下。图 3-8 修改登录密码窗口结构(1)用户窗体:名称属性设置为“修改密码”,Caption 属性设置为“修改密码”。129 行政与人力资源管理应用案例详解(2)标签 Label1Label3:对 3 个文本框的功能进行说明,它们的 Caption 属性分别设置为“请输入用户名:”、“新密码:”和“确认新密码:”。(3)文本框 Text
20、Box1:输入用户名,其名称属性设置为“用户名”。(4)文本框 TextBox2:输入新密码,其名称属性设置为“新密码”,PasswordChar 属性设置为“*”。(5)文本框 TextBox3:再输入一遍新密码,用于确认输入的新密码,其名称属性设置为“确认新密码”,PasswordChar 属性设置为“*”。(6)命令按钮 CommandButton1:输入新密码后,单击此按钮完成密码修改,并保存系统工作簿,其 Caption 属性设置为“确定”,Default 属性设置为 True。(7)命令按钮 CommandButton2:放弃密码修改,其 Caption 属性设置为“取消”,Can
21、cel属性设置为 True。3-3-2 程序代码设计 对 2 个命令按钮设置 Click 事件,并编写如下的程序代码:Private Sub CommandButton1_Click()On Error GoTo errorhandle Dim ws As Worksheet,noExist As Boolean,czy As String,yhm As String noExist=False Set ws=Worksheets(用户名密码)If Len(新密码.Text)5 Then MsgBox 为安全起见,密码不能小于 5 位!,vbCritical,注意 新密码.Text=:确认新密
22、码.Text=:新密码.SetFocus:Exit Sub ElseIf 新密码.Text 确认新密码.Text Then MsgBox 两次输入的密码不一致!,vbCritical,警告 新密码.Text=:确认新密码.Text=:Exit Sub End If For i=1 To ws.Range(A65536).End(xlUp).Row If ws.Range(A&i).Text=用户名.Text Then ws.Unprotect Password:=hxl ws.Range(B&i)=新密码.Text:ws.Range(C&i)=Now()ws.Protect Password:
23、=hxl 用户名.Text=:新密码.Text=:确认新密码.Text=MsgBox 密码修改成功!请记好您的新密码!,_ vbInformation,密码修改成功 Unload 修改密码 将首页工作簿设置为启动时状态 czy=Sheets(首页).Range(A29).Value yhm=Sheets(首页).Range(A30).Value Sheets(首页).Unprotect Sheets(首页).Range(A29)=:Sheets(首页).Range(A30)=Sheets(首页).Protect ThisWorkbook.Save 保存工作簿 将首页工作簿设置为启动后的状态 S
24、heets(首页).Unprotect Sheets(首页).Range(A29)=czy:Sheets(首页).Range(A30)=yhm Sheets(首页).Protect Exit Sub 130 系统管理模块的设计 3 Else noExist=True End If Next i If noExist=True Then MsgBox 没有用户名&用户名.Text&!,vbCritical,警告 Unload 修改密码 End If errorhandle:If Err.Number 0 Then MsgBox 错误!+CStr(Err.Description),vbCritic
25、al,错误 End If End Sub Private Sub CommandButton2_Click()Unload 修改密码 End Sub 3-2-3 修改用户登录密码示例 系统要求用户输入 5 位以上的密码,如果输入的密码位数小于 5 位,系统会弹出如图3-9 所示的【注意】对话框。如果两次输入的密码不一样,系统会弹出如图 3-10 所示的【警告】对话框。当密码修改成功后,系统会弹出【密码修改成功的】对话框,如图 3-11 所示,单击【确定】按钮后,系统将自动保存修改后的密码。如果用户在登录窗口中输入了一个不存在的用户名,并试图修改密码,系统就会弹出没有该用户名的【警告】对话框,如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EXCEL VBA行政与人力资源管理应用案例详解 第3章 VBA 行政 人力 资源管理 应用 案例 详解
限制150内