ACCESS 2016编写自定义功能区Ribbon的练习过程
按照微软官网上关于自定义功能区编写方法,希望为一个进销存系统编写自定义选项卡以及操作菜单。并希望操作菜单可以实现单行横行排列。
以下的所有测试步骤,都是把XML代码添加到下表中RibbonXML列实现的。ACCESS选项中关于功能区和工具栏的选择如下图1
ID RibbonName RibbonXML
1 定制
以下是多种尝试过程及结果记录。
测试一:尝试添加一个“加载项”选项卡。结果OK.
测试二:尝试给“加载项”添加控制按钮。结果OK。但是资料管理菜单下面的三个子菜单没有添加进去。
测试三:尝试让菜单横向排列。报错代码“0xC00cee25” 报错信息:“要求等号”
测试四、尝试让菜单横向排列,删除“id”。报错代码“0x80004005” 报错信息:“未在DTD/架构中定义元素’{http://schemas.microsoft.com/office/2009/07/customui}button属性 ‘insertAfterButton’ ”
测试五:尝试增加一个二级菜单。结果OK.
测试六: 尝试横向排列菜单。尝试让除了资料管理子菜单里的开关,其它每个按钮开关都分别处在一个不同的组里面。报错一大段,估计是group不能嵌套。另外,进货单管理组写重复了。
测试七: 尝试让除了资料管理子菜单里的开关,其它每个按钮开关都分别处在一个不同的组里面。取消测试六里面的最外层group。结果0K.
测试八:尝试取消每个分组的栏下方的组的标签。 结果OK.
测试九: 尝试不使用分组的方法,使用在一个组内建立子二级和三级菜单的方式。测试结果OK。但是所有子菜单分两列挤在了一起,没有单行横排。
<menu id="dbCustomMenu5" label="资料管理">
<button id="RunMyMacro5" label="商品资料信息" onAction="系统菜单_资料管理.商品资料信息"/>
<button id="RunMyMacro6" label="供应商资料管理" onAction="系统菜单_资料管理.供应商资料管理"/>
<button id="RunMyMacro7" label="客户资料管理" onAction="系统菜单_资料管理.客户资料管理"/>
</menu>
</group>
</tab>
</tabs>
测试十: 尝试排列测试九的子菜单。报错“未知Office控件 ID:dbCustomMenu1~4”
<menu id="dbCustomMenu5" label="资料管理" insertAfterQ="dbCustomMenu4">
<button id="RunMyMacro5" label="商品资料信息" onAction="系统菜单_资料管理.商品资料信息"/>
<button id="RunMyMacro6" label="供应商资料管理" onAction="系统菜单_资料管理.供应商资料管理"/>
<button id="RunMyMacro7" label="客户资料管理" onAction="系统菜单_资料管理.客户资料管理"/>
</menu>
</group>
</tab>
</tabs>
测试十一: 把所有子菜单由一个组来涵盖,改成由一个菜单集合来涵盖,每一个按钮控件由menuSeparator元素来区分排列位置。menuSeparator的句式结构如下:
报错:
测试十二:把测试十一的代码中增加一个总group。
将上述menuSeparator命令行里的label替换成title后,
将menuSeparator命令行尾端补全“/”结束符。运行结果如下:测试十三:把每个组里的按钮放入一个菜单内,并美化自定义功能区的显示效果。