隐藏访问选项

Ric*_*ick 7 ms-access vba

我注意到即使你禁用"使用访问特殊键",禁用"显示导航窗格",并禁用功能区菜单,你可以轻松访问"访问选项"转到当前数据库区域,并重新启用所有这些选项.

有没有办法完全隐藏Access 2007和2010中的"当前数据库"选项?

Fio*_*ala 13

在MS Access 2007和MS Access 2010中,可以控制"Backstage"的内容,而不是设置控制用户对应用程序的访问权限的选项.所有图像和说明均适用于Access 2010,但2007年并没有太大差异.请先阅读自定义功能区.

后台

在此输入图像描述

首先,右键单击导航窗格顶部的导航栏,然后单击快捷菜单上的"导航选项".在"导航选项"对话框的"显示选项"下,选中"显示系统对象"复选框,然后单击"确定".这将允许您查看您创建的表.请注意,这适用于所有数据库,因此您可能希望在完成后将其关闭.

接下来,在选项下,选择客户端设置,然后向下滚动到常规.您将看到显示加载项用户界面错误,请确保选中该错误.

你需要一个名为USysRibbons的表:

Create Table USysRibbons (ID Counter Primary Key, 
                          RibbonName Text(255),RibbonXml Memo)
Run Code Online (Sandbox Code Playgroud)

您可能希望为RibbonName添加唯一索引,否则您最终可能会使用多个具有相同名称的功能区.

您将需要一些XML,您可以剪切并粘贴到新创建的表中.

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
  <ribbon startFromScratch="false">
       <!-- Ribbon XML -->
  </ribbon>
  <backstage>
   <button idMso="FileSave" visible="false"/>
   <button idMso="SaveObjectAs" visible="false"/>
   <button idMso="FileSaveAsCurrentFileFormat" visible="false"/>
   <button idMso="FileOpen" visible="false"/>
   <button idMso="FileCloseDatabase" visible="false"/>
   <tab idMso ="TabInfo" visible="false"/>
   <tab idMso ="TabRecent" visible="false"/>
   <tab idMso ="TabNew" visible="false"/>
   <tab idMso ="TabPrint" visible="false"/>
   <tab idMso ="TabShare" visible="false"/>
   <tab idMso ="TabHelp" visible="false"/>
   <button idMso="ApplicationOptionsDialog" visible="false"/>
   <button idMso="FileExit" visible="false"/>
  </backstage>
</customUI>
Run Code Online (Sandbox Code Playgroud)

将Ribbon Name设置为"BackstageCustom".应该相当明显哪条线与Backstage的哪个部分有关.

您现在必须关闭并重新打开数据库(Compact&Repair可能是执行此操作的最快方法,但请确保在使用此方法之前进行备份).这将有很多开放和关闭.

您现在可以转到选项 - >当前数据库并向下滚动到功能区和工具栏选项,在功能区名称下选择新创建的功能区.当您关闭选项时,您将收到一条警告,您必须关闭并打开数据库才能使更改生效.

当你这样做时,你将无法再在后台看到选项,除了最近的数据库列表之外你也看不到多少.查看上面的XML,您可以看到所有内容都设置为false.

我认为最简单的方法是打开USysRibbons表并更改此行:

<button idMso="ApplicationOptionsDialog" visible="false"/>
Run Code Online (Sandbox Code Playgroud)

<button idMso="ApplicationOptionsDialog" visible="true"/>
Run Code Online (Sandbox Code Playgroud)

再次打开和关闭,然后从"选项"下的"功能区名称"中删除功能区.打开和关闭,您或多或少地回到您开始的地方.