本文主要为大家介绍下在Office2007中如何通过使用XML和编程代码的方式为Office2007的用户界面添加自定义按钮。
可以使用xml和编程代码的组合,添加自已的自定义按钮到Ribbon中,或者重复使用一些内置按钮。
使用XML添加控件
代码如下:
<?xml version=”1.0″ encoding=”utf-8″ ?>
<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui” loadImage=”LoadImage” >
<ribbon startFromScratch=”false”>
<tabs>
<tab id=”tab1″ label=”Button Demo” keytip=”z” >
<group id=”group1″ label=”Demo Group”>
<button id=”button1″
enabled=”true”
getLabel=”GetLabel”
keytip=”A1″
getScreentip=”GetScreentip”
supertip=”This is a supertip for the button.”
getShowLabel=”GetShowLabel”
getShowImage=”GetShowImage”
getSize=”GetSize”
visible=”true”
image=”camera.bmp”
onAction=”OnAction” />
<button id=”button2″
getLabel=”GetLabel”
getShowLabel=”GetShowLabel”
size=”normal”
keytip=”A2″
imageMso=”TableDrawTable”
onAction=”OnAction” />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
本示例通过给选项卡元素的label属性赋文本值,添加了一个标题为Button Demo的自定义选项卡。该选项卡包含Demo Group组,其中含有名为button1和button2的两个自定义按钮,这些按钮通过visible、enabled和size属性来定义其属性。
通过设置属性值为字符串,来给这些属性赋值,例如supertip属性,或者直接指向编程代码过程。下图显示了应用上述XML后Microsoft Office Excel 2007中的结果。

在示例代码中,指定内置组件不同于自定义组件。一些属性有Mso后缀,而一些没有。例如,上面的示例中,id属性没有Mso标识符,对Office应用程序来说,这表示该按钮是一个自定义控件。在imageMso属性中,Mso后缀表明其是一个内置图像。带有Mso后缀的属性代表内置控件、命令和图像。
[1] [2] [3] 下一页