ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 一个相当成熟的多用户不同权限登录系统

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2005-7-25 23:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-7-26 00:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-7-26 09:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如何给单个工作表加保护,也就是说对单个工作表设置修改权限。现在加了保护后重新打开文件时保护就没有了,这个功能对我很重要,请楼主指点一二。

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-26 16:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

提供一种思路,可以通过修改以下部分的代码。或者给这些代码设定执行条件,把你要设置的单个工作表分离出来设定单独条件,当条件满足时按你设定的保护方法保护,否则执行通用保护。记得同时要设有解保护的代码。

Sub SheetP() For i = 1 To Sheets.Count If Sheets(i).Name <> "注册表" Then Sheets(i).Protect ("ABCacb333") Next End Sub Sub unSheetP() For i = 1 To Sheets.Count If Sheets(i).Name <> "注册表" Then Sheets(i).Unprotect ("ABCacb333") Next End Sub 注册表WorkSheet代码为:

Private Sub Worksheet_Activate() ThisWorkbook.Unprotect ("ABCacb333") For i = 1 To Sheets.Count If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = 2 Next ThisWorkbook.Protect ("ABCacb333") End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) UserForm1.Show 0 End Sub

ThisWorkbook代码为:

Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Unprotect ("ABCacb333") For i = 1 To Sheets.Count If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = xlSheetVeryHidden Next ThisWorkbook.Protect ("ABCacb333") End Sub

TA的精华主题

TA的得分主题

发表于 2005-7-28 11:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
非常非常感謝 qqboy1 兄提供原碼分享,要不然只出現亂碼. 送上一朵鮮花表示感謝 qqboy1 兄.[em17][em23][em24][em27][em26]

TA的精华主题

TA的得分主题

发表于 2005-7-28 13:17 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-7-29 11:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用ccyy431在2005-7-25 17:28:26的发言:

非常感谢楼主

我已经将其用到我的自动表中了,就是如何给单个工作表加保护,也就是说对单个工作表设置修改权限。现在加了保护后重新打开文件时保护就没有了,这个功能对我很重要,请楼主指点一二。

ccyy431 , 您好~! 〉 我按你说的方法试了一下,果然如此。加密工作薄后文件之所以变大,原因可能为 〉加密后的工作薄不能操作,所以每张表都按照65536*256 的矩阵存储,而每个工作薄都 〉加密了,所以原本结构相同的工作表,加密后由于不可操作就变成了各不相同的表,所 〉以根据Winrar加密软件的算法——结构相同的部分就会通过算法计算,不必全部记录, 〉大概相当于Flash中motion(创建补间动画)会自动计算出中间帧一样。 〉 因此保护后文件有3M多,不保护压缩只有604K,不知道我这样理解对吗?

解决方法:

将ThisWorkbook.Protect ("ABCacb333") 句前加 ' 屏蔽掉即可。

Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.ScreenUpdating = False ThisWorkbook.Unprotect ("ABCacb333") For i = 1 To Sheets.Count If Sheets(i).Name <> "注册表" Then Sheets(i).Visible = xlSheetVeryHidden Next 'ThisWorkbook.Protect ("ABCacb333") End Sub

你试试。

TA的精华主题

TA的得分主题

发表于 2005-8-15 23:43 | 显示全部楼层

楼主:谢谢你传递的妙方!

不过,一打开就显示您的资料,这.....

能改吗?怎么改?

谢谢哦

TA的精华主题

TA的得分主题

发表于 2005-8-16 08:13 | 显示全部楼层
能增加用户修改密码的功能吗?

TA的精华主题

TA的得分主题

发表于 2005-8-29 11:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

如何这样改进??

不必封装,更方便

如何改进??才能实现:

1。打开excel时自动显示登陆窗口。不显示其他界面。

2。输入密码后,“确定”后,直接进入到权限范围内的所有表的第一个。

这对我非常重要,请各位帮忙!!谢谢!!!!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-17 19:06 , Processed in 0.044813 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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