xmlaccessortype xml中添加属性_VBA编写Ribbon Custom UI编辑器03——认识Ribbon的xml

f93ec638877aa87e2bf5a29b5f8e4e19.png

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon>  <tabs>   <tab id="TabID" label="tabName" insertAfterMso="TabDeveloper">    <group id="GroupID" label="GroupName">     <button id="Button1" label="buttonname
" size="large" onAction="Macro" imageMso="HappyFace"/>    group>   tab>  tabs> ribbon>customUI>

这是一个很简单的Ribbon customUI.xml代码,能实现的菜单如下:

b079776426e416f2cd578fef52a0fec3.png

  • 一个新的菜单tab,名称为tabName

  • 一个组group,名称为GroupName

  • 一个按钮button,名称为buttonname

制作自定义的Ribbon菜单,一般主要用到的就是上面3个东西。

当然我们关注的不是说主要用哪几个东西,而是Ribbon xml的编写格式,这个格式的文本如何转换为一个二维数组,然后输出到Excel表格:

c5aff9a6ff1213e2b1c7dec0c92583da.png

输出到了Excel表格,才能在Excel里去编辑它。

编辑好之后,还要考虑如果将Excel表格上的内容,转换为Ribbon xml的编写格式,重新写入到Office文件中。

01 解析功能

元素:紧跟在『customUI、ribbon、tabs、group、button,这些被称作xml的元素,xml这种语言没有限制元素的名称,但是Ribbon中还是有限制的,针对某个版本来说,肯定是固定的。

但是写一个程序,必须要考虑到以后,一旦Ribbon的xml语言升级更新了,支持的元素名称多了,程序还要保证能够正确运行,所以不能在程序里固定写死元素。

这样不管Ribbon的xml有什么更新,只要它是满足xml语言的编写规范,这个解析的功能都能够将相应的文本输出到Excel中去。

<…………>:一对括号内的内容,对应的也就是要输出到Excel单元格中的一行内容。

属性:括号内除去元素之外,剩下的都是xx="yy"这种形式的东西,这个称作元素的属性,xx是属性的名称,yy是属性的值。

对应的就是属性名称输出到Excel单元格的第一行,属性的值输出到元素所在行、属性所在列的单元格。

02 还原功能

还原功能就是将Excel单元格中的内容,转换为xml的文本。

HasChild这个属性并不是Ribbon的xml语言内容,是为了方便还原的时候,正确还原那些允许包含子控件的元素,这些元素的结束标记都是单独的,如例子中的:

group> tab>  tabs> ribbon>customUI>

而其他控件的格式是这样的<…………/>

这个还原功能应该就比较简单了,只要循环每一个行的内容:

  • 判断对应列的属性值是否为空,不为空的时候,添加一些固定的文本

  • 然后前面添加括号标记<…………>

  • 最后再全部连接到一个文本

xml语言的知识建议到网上找些资料先看看,了解一下。本人也基本没使用过xml语言,只是在自定义Excel Ribbon的时候用用,了解的也比较浅,个人觉得下面这个网站讲的还比较浅显易懂:

https://www.w3school.com.cn/xml/index.asp

1b98571bed99a181ddccc25825d32a50.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值