ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 龙藏于渊

[已解决] 如何强制使用宏 让打开表格的人一定要登陆才可以

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-12-28 23:13 | 显示全部楼层
请看附件
强制使用宏.rar (36.12 KB, 下载次数: 473)

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-28 23:26 | 显示全部楼层
本帖最后由 龙藏于渊 于 2012-12-28 23:39 编辑

我试着增加了两个条件
1,增加了操作员 不能看见SHEET3
2.来宾不能 SHEET3 和基础信息表
我试着改你的代码 改了几次都不成功
如果这样如何实现呢

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-28 23:30 | 显示全部楼层
如果是 我让管理员 能看到所有表 操作员 不能看到目录表 来宾不能看到 目录表 基础信息表 又要如何写呢

TA的精华主题

TA的得分主题

发表于 2012-12-28 23:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
还有一种方法,excel文件设置打开密码,然后用vb写一个程序生成exe来打开这个excel文件,可以忽略宏的安全级别的问题。。。

TA的精华主题

TA的得分主题

发表于 2012-12-28 23:35 | 显示全部楼层
龙藏于渊 发表于 2012-12-28 23:30
如果是 我让管理员 能看到所有表 操作员 不能看到目录表 来宾不能看到 目录表 基础信息表 又要如何写呢
  1. Private Sub CommandButton1_Click()
  2.     Dim soundName As String
  3.     Dim sh As Worksheet
  4.     If ComboBox1.Text = "" Or TextBox1.Text = "" Then
  5.         If ComboBox1 = "" Then
  6.             MsgBox "用户名不能为空!", 48, "〖出入库系统〗-提示"
  7.             ComboBox1.SetFocus
  8.             Exit Sub
  9.         ElseIf TextBox1 = "" Then
  10.             MsgBox "密码不能为空!", 48, "〖出入库系统〗-提示"
  11.             TextBox1.SetFocus
  12.             Exit Sub
  13.         End If
  14.     Else
  15.         ARR = Sheets("基础信息").Range("M2:N" & Sheets("基础信息").Range("M65536").End(3).Row)
  16.         For I = 1 To UBound(ARR)
  17.             If ARR(I, 1) = ComboBox1 And ARR(I, 2) = TextBox1.Text Then
  18.                 MsgBox ComboBox1.Text & "您好!欢迎您使用本系统!", 64, "〖出入库系统〗-欢迎词"
  19.                 Application.Visible = True
  20.                 Sheets("单据录入").Range("J15") = ComboBox1.Text
  21.                 If ComboBox1 = "管理员" Then
  22.                     For Each sh In Sheets
  23.                         sh.Visible = xlSheetVisible
  24.                     Next
  25.                 ElseIf ComboBox1 = "操作员" Then
  26.                     For Each sh In Sheets
  27.                         If sh.Name <> "目录" Then sh.Visible = xlSheetVisible
  28.                     Next
  29.                 Else
  30.                     For Each sh In Sheets
  31.                         If sh.Name <> "基础信息" Then sh.Visible = xlSheetVisible
  32.                     Next
  33.                 End If
  34.                 Unload Me
  35.                 Exit Sub
  36.             End If
  37.         Next
  38.         
  39.    End If
  40.         MsgBox "登录密码错误,请重新输入!", 48, "〖出入库系统〗-提示"
  41.         TextBox1.Text = ""
  42.         TextBox1.SetFocus
  43. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2012-12-28 23:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
龙藏于渊 发表于 2012-12-28 23:30
如果是 我让管理员 能看到所有表 操作员 不能看到目录表 来宾不能看到 目录表 基础信息表 又要如何写呢
  1. Private Sub CommandButton1_Click()
  2.     Dim soundName As String
  3.     Dim sh As Worksheet
  4.     If ComboBox1.Text = "" Or TextBox1.Text = "" Then
  5.         If ComboBox1 = "" Then
  6.             MsgBox "用户名不能为空!", 48, "〖出入库系统〗-提示"
  7.             ComboBox1.SetFocus
  8.             Exit Sub
  9.         ElseIf TextBox1 = "" Then
  10.             MsgBox "密码不能为空!", 48, "〖出入库系统〗-提示"
  11.             TextBox1.SetFocus
  12.             Exit Sub
  13.         End If
  14.     Else
  15.         ARR = Sheets("基础信息").Range("M2:N" & Sheets("基础信息").Range("M65536").End(3).Row)
  16.         For I = 1 To UBound(ARR)
  17.             If ARR(I, 1) = ComboBox1 And ARR(I, 2) = TextBox1.Text Then
  18.                 MsgBox ComboBox1.Text & "您好!欢迎您使用本系统!", 64, "〖出入库系统〗-欢迎词"
  19.                 Application.Visible = True
  20.                 Sheets("单据录入").Range("J15") = ComboBox1.Text
  21.                 If ComboBox1 <> "来宾" Then
  22.                     For Each sh In Sheets
  23.                         sh.Visible = xlSheetVisible
  24.                     Next
  25.                     If ComboBox1 = "操作员" Then Sheets("目录").Visible = xlSheetVeryHidden
  26.                 Else
  27.                     For Each sh In Sheets
  28.                         If sh.Name <> "基础信息" Then sh.Visible = xlSheetVisible
  29.                     Next
  30.                 End If
  31.                 Unload Me
  32.                 Exit Sub
  33.             End If
  34.         Next
  35.         
  36.    End If
  37.         MsgBox "登录密码错误,请重新输入!", 48, "〖出入库系统〗-提示"
  38.         TextBox1.Text = ""
  39.         TextBox1.SetFocus
  40. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-12-28 23:40 | 显示全部楼层
zhaogang1960 发表于 2012-12-28 23:39

完全能解决了 谢谢啊 我刚才没有看到你的代码 我重复问同样的问题了 不好意思啊

TA的精华主题

TA的得分主题

发表于 2012-12-29 12:51 | 显示全部楼层
楼上的VBA加密其实在宏安全性设为高后,都将失去作用,因为隐藏的表格可以通过进入VBA工程窗口后进行修改就可以取消隐藏了。

TA的精华主题

TA的得分主题

发表于 2012-12-29 13:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ddzhang 发表于 2012-12-29 12:51
楼上的VBA加密其实在宏安全性设为高后,都将失去作用,因为隐藏的表格可以通过进入VBA工程窗口后进行修改就 ...

这一点楼主很清楚,请看5楼:
我现在就想要实现这样的功能 至于别人删除什么的 也无所谓 反正公司也没有别人懂宏 只要别人 不启用宏 就看不到 别的工作表 就可以了 不一定要整个工作簿都关闭掉 请楼主帮我实现这个功能 谢谢了

TA的精华主题

TA的得分主题

发表于 2012-12-29 18:57 | 显示全部楼层
zhaogang1960 发表于 2012-12-28 23:39

老赵真好,做个记号
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 23:07 , Processed in 0.048039 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表