注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

VBA Excel登陆窗体  

2012-03-21 13:38:13|  分类: VB和VBA知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

VBA Excel登陆窗体

你是否用过ACCESS数据库?ACCESS有一个实用的功能就是锁住ACCESS应用程序本身。不管用户ACCESS数据库文件是否加密,要打开ACCESS应用程序必须经过身份验证。其实在EXECL中通过VBA编程也可以实现类似的功能。现在和我一起DIY一个吧!
1、 打开EXECL应用程序,点击“工具”—“宏”—“录制宏”。这时会出现一个“录制新宏”的对话框。
2、 点选“录制新宏”对话框中“保存在”下拉列表中的“个人宏工作薄”,点击“确定”按钮。这时会在EXECL表格中出现一个叫“停止”小窗体。
3、 在表格中任意点击一个单元格,然后按“停止”工具栏的“停止”按钮。(以上三步是为了生成一个随EXECL应用程序一起运行的默认EXCEL文件"PERSONAL.XLS")。
4、 按ALT+F11组合键调出VB编辑器,在“工程资源管理器”中点选“PERSONAL.XLS”
5、 点选工具栏中“插入用户窗体”中的“用户窗体”以插入一个用户窗体。这时VB编辑器中会出现一个名为“USERFORM1”的用户窗体和一个“工具箱”窗体。
6、 点选“USERFORM1”,在属性对话框中的CAPTION属性栏中输入一些文字,如:“EXCEL安全系统—创意工作室制作”等。
7、 在“工具箱”中拖入一个“标签”(LABEL1)、一个“文字框”(TEXTBOX1)、一个“命令按钮”(COMMANDBUTTON1)到USERFORM1,并适当调整尺寸及位置。
8、 把LABEL1的“CAPTION”值设为“请输入密码”;TEXTBOX1的“PASSWORDCHAR”值设为“*”,“TABINDEX”值为“0”;COMMANDBUTTON1的“CAPTION”值设为“确定”,“TABINDEX”值为“1”。(4到8步设定“锁”的外观及触发顺序)
9、 在用户窗体的代码栏中输入以下代码

Dim gg As Boolean

Private Sub CommandButton1_Click()

If TextBox1.Text = "12345" Then
gg = True
ThisWorkbook.Application.Visible = True
Unload Me
Else
gg = False
Unload Me
MsgBox "密码错误,请与机主联系!"
ThisWorkbook.Application.Quit
End If

End Sub

Private Sub UserForm_Activate()

TextBox1.SetFocus
gg = False

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If Not gg Then ThisWorkbook.Application.Quit
End Sub

10、 在“工程资源管理器”中点选“PERSONAL.XLS”,双击其中的“THISWORKBOOK”对象,输入如下代码:

Private Sub Workbook_Open()
Me.Application.Visible = False
UserForm1.Show
End Sub

11、 关闭VB编辑器,点击EXCEL应用程序中的“工具”—“宏”—“安全性”,在“安全性”窗体中的“安全级”中点选“无”。(这一步

会有一定的安全隐患,在大部份情况下可以省略。)
12、 存盘退出。
     怎么样,很有成就感吧!这只是最简单的,你也可以增加其它功能,如根据不同的用户设定不同的进入密码等。发挥你的想象力,一起

DIY吧。
 

 

'已修改过

'Sheet1中
Dim t As Integer
Private Sub Worksheet_Activate()
t = t + 1
If t < 2 Then
      Worksheets(1).Visible = False
      Worksheets(2).Visible = False
      Worksheets(3).Activate
End If
End Sub

Private Sub Worksheet_Deactivate()
t = t + 1
If t < 2 Then
      Worksheets(1).Visible = False
      Worksheets(2).Visible = False
      Worksheets(3).Activate
End If
End Sub
Dim s As Integer
Private Sub Label1_Click()
If j < 1 Then
      MsgBox "尚未登陆,请先登陆!!"
      UserForm1.Show
      j = j + 1
      s = s + 1
End If
      Worksheets("sheet1").Visible = True
      Worksheets("sheet2").Visible = True
End Sub

'Sheet3中
Private Sub Worksheet_Activate()
s = s + 1
If s = 1 Then
      Worksheets("sheet1").Visible = False
      Worksheets("sheet2").Visible = False
End If
End Sub

'ThisWorkBook中
Private Sub Workbook_Open()
Worksheets("sheet1").Visible = False
Worksheets("sheet2").Visible = False
Application.Visible = False
UserForm1.Show
j = j + 1
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("sheet1").Visible = False
Worksheets("sheet2").Visible = False
End Sub

'UserFrom1中
Private Sub CommandButton1_Click()
Dim i As Integer
Dim a As String
a = "12345"
TextBox1.SetFocus
If TextBox1 = a Then
Application.Visible = True
Worksheets(1).Visible = True
Worksheets(2).Visible = True
Unload Me
huodong
Else
Worksheets("sheet1").Visible = False
Worksheets("sheet2").Visible = False
i = i + 1
       If i >= 3 Then
           Application.Quit
       End If
End If
End Sub

Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
      Cancel = 1
      MsgBox "无效操作"
      End If
End Sub

'模块中
Public j As Integer
Sub huodong()
Worksheets("sheet1").Visible = False
Worksheets("sheet2").Visible = False
Worksheets(3).Activate
End Sub

'禁止删除

Private Sub Worksheet_Activate()
Dim Ctl As Office.CommandBarControl
For Each Ctl In Application.CommandBars.FindControls(ID:=847)   '847是管删除的
     Ctl.Enabled = False
Next
End Sub
 

  评论这张
 
阅读(1417)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017