ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2244|回复: 2

如何禁止数据库窗口以及菜单栏中某些命令的显示?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-4 09:20 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如何禁止数据库窗口以及菜单栏中某些命令的显示?

我不愿意别人复制我的数据库或参考我的设计,所以我把它生成.mde文件,可是表和查询还有数据库窗口、备份数据库命令等都可见;如果建立一个快捷方式,以runtime方式打开数据库,上述就都看不见了,可是,很容易修改快捷方式的属性,去掉runtime的字样。用什么办法才能实现禁止一些对象显示呢?

用宏或代码能实现吗?

谢谢指教!

TA的精华主题

TA的得分主题

发表于 2013-4-4 10:09 | 显示全部楼层
在启动对话框里设置,数据窗口不可见,禁用菜单及特殊键,自己看着勾选.

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-4-4 11:20 | 显示全部楼层
多谢!我找到这个方法试了,挺好的,和runtime方式打开的一样。可是,如果按着shift键启动,就会出现数据库窗口和所有的菜单栏和工具栏!我又找到一个文章,说可以禁用shift键,可是不会调用,要调用只能在最先的时候调用,对吧?那么怎么调用呢?

1.在Access数据库(MDB)中禁止Shift键的方法
首先创建一个设置数据库属性的通用函数。
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropvalue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270 '没有找到属性的错误常量
Set dbs = CurrentDb '获取当前的数据库对象
On Error GoTo Change_Err '如果出错则转到错误处理
dbs.Properties(strPropName) = varPropvalue '如果找到属性,则设置属性的值为新的值
ChangeProperty = True '设置成功,设置函数值返回真
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' 如果错误是数据库没有这个属性
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropvalue) ' 创建新的属性,并设置它的默认值
dbs.Properties.Append prp ' 将新的属性对象绑定到数据库
Resume Next ' 继续执行后面的代码
Else
ChangeProperty = False ' 如果是其它错误,则函数值返回假
Resume Change_Bye ' 转到函数退出处理
End If
End Function
然后调用这个通用函数来设置“AllowBypassKey”属性值为False,代码如下。
ChangeProperty "AllowBypassKey", 1, False 'False为禁止Shift键,True为恢复
如果想允许使用Shift键,则同样设置ChangeProperty "AllowBypassKey", 1, True就可以了。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 20:29 , Processed in 0.030358 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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