关于用代码设置Access选项的不完全总结-西出阳关无故人
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


关于用代码设置Access选项的不完全总结

发表时间:2019/1/7 15:53:46 评论(2) 浏览(6362)  评论 | 加入收藏 | 复制
   
摘 要:用vba代码设置Access选项的几种方法。
正 文:

——适用于Access2007,其他版本未测试。

       在Access程序编制完毕后,要分发给用户使用。基于用户可能对Access不熟悉、或其他(如简单安全措施)原因,编程人要对Access的选项进行设置。当然,用vbaAccess选项自动设置是最简便的了。

       鉴于我的程序基本上是单位局域网内内部使用,数据也不是绝密的,分发给用户的程序不需要编译,可以随时随地检查出错的信息、更改程序,只考虑不让用户看到或打开链接表、vba以及不让用户创建查询(算是简易的安全措施吧)。所以,就从access选项、自定义功能区等方面进行主动防御,在自定义功能区中设计了一个“设计”开关,这个开关负责用vba代码对access选项进行设置、用代码对RibbonXml进行修改。

        为了后学兄弟们不再自行摸索,总结如下,不足之处敬请指正。

一、Application.SetOption方法

        Application.SetOption 方法,是微软提供给我们的工具之一,可以对大部分的Access选项进行设置,

        表达式.SetOption(OptionName, Setting)

        其中OptionName参数表示选项中的设置项,Setting表示设置的值。设置项参数字符串的列表,请参阅Access帮助的“从 Visual Basic 中设置选项”章节。

        实例:

        Application.SetOption "Show Status Bar", True  '显示状态巴。

        又如:

        Application.SetOption "show system objects", True  '显示显示系统对象。

        或:

        Application.SetOption "显示系统对象", True  '显示显示系统对象。

        以上二者等价,即"show system objects"="显示系统对象"

二、database.Properties属性方法

        在实际应用中,database.Properties属性方法可以作为Application.SetOption方法的补充,例如:

        CurrentDb.Properties("UseMDIMode") = 0 '设置文档窗口选项为“重叠窗口”,0=重叠窗口;1=选项卡式文档

        以下是不能使用Application.SetOption方法进行设置的选项。

属性                   中文意义    值类型

StartUpShowDBWindow 显示导航窗格    true/false

AllowFullMenus        允许全部菜单    true/false

AllowShortcutMenus       允许默认快捷菜单    true/false

AllowBuiltInToolbars        允许内置工具栏    true/false

UseMDIMode    文档窗口选项    0/1:重叠窗口/选项卡式文档

...

        实际上,以上两种方法仍然不能覆盖所有的选项设置,需要使用Database.CreateProperty方法

三、Database.CreateProperty方法

        实际上这个方法是方法二的补充,Access帮助中有实例,这里不再赘述。

        要用到CreateProperty方法的属性如下表:

参数

中文意义

AppTitle

应用程序标题

AppIcon

应用程序图标

StartUpForm

显示窗体

CustomRibbonID

功能区名称

StartupShortcutMenuBar

快捷菜单

四、注册表

        以上三种方法,可以覆盖Access选项设置的绝大部分了。但是,在自定义功能区中要用到的“显示加载项用户接口错误”选项,据我目前所知,只能使用编辑注册表方法实现:

Public Sub setreg(ByVal value As Boolean)    '读写注册表,设置【显示加载项用户接口错误】

    Dim WSH As Object, A As Variant

    Set WSH = CreateObject("WSCRIPT.SHELL")

    If value = False Then

        WSH.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General\ReportAddinCustomUIErrors", 0, "REG_DWORD"  '修改相关键值为1

        ' A = WSH.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General\ReportAddinCustomUIErrors")

    Else

        WSH.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\General\ReportAddinCustomUIErrors", 1, "REG_DWORD"

    End If

    '  MsgBox A

End Sub


Access软件网交流QQ群(群号:198465573)
 
 相关文章
access设置应用程序标题和图标的源码  【  2008/10/26】
access特殊键和启动项设置  【trynew  2009/3/18】
access启动项设置通用代码  【stone0823  2009/6/2】
利用程序打开启动项设置窗体  【王樵民  2010/2/4】
更改Access应用程序标题,更改任务栏Access应用程序标题的...  【麥田  2012/8/9】
VBA设置应用程序标题,及启动显示窗体功能示例  【杜超-2号  2013/5/4】
代码设置access启动项示例  【落尘  2012/3/27】
CurrentDb.Properties ("AppTitle")...  【红尘如烟  2014/5/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

西出阳关无故人

文章分类

文章存档

友情链接