使用自定义用户界面XML文件在Access中添加多个自定义功能区选项卡时,选中的功能区选项卡在表单关闭时会变回第一个自定义选项卡。是否可以防止MS Access在使用自定义功能区时自动更改所选功能区选项卡?
我们从VBA以编程方式加载自定义功能区。我创建了an accdb that reproduces the problem。该文件夹还包含一个包含功能区定义的XML文件。它必须位于与.accdb文件相同的目录中。
问题可以很容易地证明:
- 打开数据库RibbonTest.accdb,
- 开关TAB2和打开窗体2使用色带上的按钮,并
- 关闭窗体2。
请注意Tab1现在处于活动状态。
当然,在这个小例子db中,这个问题似乎很小。但是,我们有一个非常大的项目,其中包含许多自定义选项卡,每个选项卡都包含多个组和按钮我们的用户发现,每次他们关闭表格时,他们都会在功能区上丢失自己的位置,这让他们非常沮丧。
我们调查了一种解决方法,我们以编程方式存储选定的选项卡,并在我们认为需要时将其还原。但是,要做到这一点很困难。 (这里没有用于自动化功能区的Office API,但是this article helped。)
是否有其他人遇到此问题?你有没有找到一种方法来防止标签自动更改?
编辑:看来,这个问题与在Office 2010 SP1 实施修复引入。 (对不起,没有链接:不要认为我可以有两个以上)。RTM版本中不存在此问题。 SP1的修复列表包括:“当用户返回到该对象时,Access不激活或将用户返回到正确的功能区选项卡。”看起来他们已经试图修复Form.RibbonName属性(它支持上下文色带)的使用,但已经打破了该过程中的默认功能区。
优秀 - 标记为答案而不是我的解决方法。 – Olly