不同用户依权限查看不同工作表的VBA实现.doc_第1页
不同用户依权限查看不同工作表的VBA实现.doc_第2页
不同用户依权限查看不同工作表的VBA实现.doc_第3页
不同用户依权限查看不同工作表的VBA实现.doc_第4页
不同用户依权限查看不同工作表的VBA实现.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

不同用户依权限查看不同工作表的VBA实现(登录窗口1)(登录窗口2)(登录窗口3)(模块1代码窗口)This workbook代码窗口代码如下:Private Sub Workbook_Open() Application.Visible = False UserForm1.Show 1End SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean)On Error Resume Next Application.DisplayAlerts = False For Each sht In Worksheets If sht.Name Worksheets(1).Name Then sht.Visible = 2 End If Next ThisWorkbook.SaveAs ThisWorkbook.Path & & ThisWorkbook.Name, , Password:=123456, WriteresPassword:=excel2010 Me.Saved = True Application.DisplayAlerts = TrueEnd Sub(登录窗口绘制)(登录窗口属性设置)(Userform1代码窗口)(登录系统按钮属性设置)(退出系统按钮属性设置)其它控件属性设备略Userform1(登录窗口)代码:Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)Application.QuitThisWorkbook.Close FalseEnd SubPrivate Sub CommandButton2_Click() 关闭系统 UserForm1.Hide Application.Quit ThisWorkbook.Close FalseEnd SubPrivate Sub UserForm_Activate() TextBox1.Text = If ComboBox1.ListCount 0 Then Exit Sub 复合框中的条目数大于0时不继续执行。如无此句,会导致出现重复用户名下拉列表。 t = Array(管理员, 受限用户A, 受限用户B) For i = 0 To 2 Controls(ComboBox1).AddItem t(i) Next iEnd SubPrivate Sub CommandButton1_Click() 登录按钮 If ComboBox1.Text = 管理员 And TextBox1.Text = admin Then Dim i% For Each sht In Worksheets sht.Visible = True Next MsgBox 管理员登录成功 TextBox1.Text = Application.Visible = True UserForm1.Hide ElseIf ComboBox1.Text = 受限用户A And TextBox1.Text = 123 Then Worksheets(2).Visible = True Worksheets(3).Visible = 2 Worksheets(4).Visible = 2 MsgBox 登录成功 Application.Visible = True TextBox1.Text = UserForm1.Hide ElseIf ComboBox1.Text = 受限用户B And TextBox1.Text = 456 Then Worksheets(3).Visible = True Worksheets(4).Visible = True Worksheets(2).Visible = 2 MsgBox 登录成功 Application.Visible = True TextBox1.Text = UserForm1.Hide Else MsgBox 输入错误! TextBox1 = End IfEnd SubPrivate Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 输入完毕回车 If KeyCode = 13 Then If ComboBox1.Text = 管理员 And TextBox1.Text = admin Then Dim i% For Each sht In Worksheets sht.Visible = True Next MsgBox 管理员登录成功 Application.Visible = True UserForm1.Hide ElseIf ComboBox1.Text = 受限用户A And TextBox1.Text = 123 Then Worksheets(2).Visible = True Worksheets(3).Visible = 2 Worksheets(4).Visible = 2 MsgBox 登录成功 Application.Visible = True UserForm1.Hide ElseIf ComboBox1.Text = 受限用户B And TextBox1.Text = 456 Then Worksheets(3).Visible = True Worksheets(4).Visible = True Worksheets(2).Visible = 2 MsgBox 登录成功 Application.Visible = True UserForm1.Hide Else MsgBox 输入错误! TextBox1 = End If End IfEnd Sub相关参考代码(含注释):Private Sub CommandButton1_Click() 确定Dim sht As WorksheetApplication.EnableEvents = False 禁用所有事件cname = ComboBox1.Value 获得用户名cno = WorksheetFunction.Match(cname, Sheets(设置).Range(a1:a & r), 0) 用户所在行If cname = Sheets(设置).Range(a & cno).Value And Password = Sheets(设置).Range(B & cno).Value Then 密码对 Unload pass If cno = 2 Then 是管理员 For Each sht In Worksheets sht.Visible = True 显示全部表单 Next Else 是一般用户 sw = 0 s = Sheets(设置).Range(C & cno) For Each sht In Worksheets If sht.Name = s Then Sheets(s).Visible = True 显示 sw = 1 Sheets(登录).Visible = False End If Next If sw = 0 Then MsgBox 没有你可以看的工作表,去找管理员更正 End IfElse 密码不对 j = j - 1 If j 0 Then MsgBox 密码不对。还可以输入 & j & 次。 TextBox1.Text = Else Unload pass MsgBox 密码不对。你已经试了3次了。再见! End IfEnd IfApplication.EnableEvents = True 用所有事件End SubPrivate Sub TextBox1_Change()Password = TextBox1.Text 获得密码End SubPrivate Sub UserForm_Initialize()r = Sheets(设置).Range(A65536).End(xlUp).Row 用户最后行For i = 2 To r 增加用户名 Me.Combo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论