办公软件Ribbon自定义全攻略
立即解锁
发布时间: 2025-08-21 01:32:39 阅读量: 2 订阅数: 13 


精通VBA:Office 2016自动化编程指南
### 办公软件Ribbon自定义全攻略
在办公软件的使用中,Ribbon界面的自定义能够极大地提升工作效率和个性化体验。下面将详细介绍如何对Ribbon进行各种修改和定制。
#### 1. 验证与保存XML代码
在对Ribbon进行自定义时,XML代码的验证和保存是重要的基础步骤。
- **验证XML代码**:点击带有红色对勾的图标来验证XML代码。若验证测试显示代码格式不正确,说明XML代码存在拼写错误,需要重新输入(或者从相关网页复制粘贴)。
- **保存并退出UI编辑器**:选择“文件” -> “保存”,然后选择“文件” -> “退出”来关闭UI编辑器。
- **查看新元素**:打开Word中的RibbonTest.docm文件,点击按钮最右侧的新“Execute”选项卡,再点击“See Message”按钮,此时应弹出包含“Hi!”消息的对话框。若未出现,需查看相关问题排查部分。
#### 2. 按钮控件属性探索
按钮控件具有多种属性,如description、enabled、id、idMso等。可以尝试修改之前示例中的代码,观察这些属性的效果。
#### 3. 使用内置图标和屏幕提示
通过在按钮元素的XML代码中添加额外属性,可以实现使用内置图标和屏幕提示的效果。
```xml
<button id="b1"
label="See Message"
imageMso= "ShowTimeZones"
screentip="Say Hi!"
onAction="module1.test" />
```
当加载.docm文件并点击添加到Ribbon的“Execute”选项卡时,会看到两个变化:一是出现一个地球图标(内置的imageMso图标之一);二是将鼠标光标悬停在按钮上时,会显示一个工具提示(微软现在称为ScreenTip)。ScreenTip属性以粗体显示标题,supertip属性显示普通字体的“正文文本”消息,可以单独或同时使用这两个属性。例如:
```xml
screentip="Run a Macro"
supertip="Click this button to execute the test macro."
```
#### 4. 创建自定义图标
虽然微软提供了大量的内置图标,但也可以创建自己的图标。可以使用.png、.tif、.bmp、.jpg或.ico文件,自定义图标的属性是image而非imageMso。
具体操作步骤如下:
1. 在UI编辑器中打开RibbonTest.docm文件。
2. 点击UI编辑器中的中间图标(其ScreenTip为“Insert Icons”),打开“Insert Custom Icons”对话框。
3. 在硬盘中浏览找到想要使用的图形文件,所有允许的图形文件类型都会显示在浏览器中。
4. 无需手动减小大图形文件的大小,显示时会自动缩小。
5. 找到所需文件后,双击它,对话框关闭,图像的图片及其名称会显示在UI编辑器的左面板中。需要点击左窗格中customUI条目旁边的小“+”才能看到图像。右键单击图像可以删除它或更改其ID。
6. 注意在UI编辑器中会去掉文件名扩展名,因此在将此图像添加到XML代码时无需使用扩展名。例如,硬盘上的文件是rose.jpg,但在代码中只需引用为rose:
```xml
<button id="b1"
label="See Message"
image="Rose"
size="large"
screentip="Say Hi!"
onAction="module1.test" />
```
#### 5. 使用菜单和列表
除了按钮,还可以在Ribbon上使用其他控件,如菜单和下拉列表,以提供更多选项。
##### 5.1 添加菜单
要在Ribbon上添加一个点击后显示三个按钮(每个按钮启动不同宏)的菜单,可以按以下步骤操作:
1. 在自定义UI编辑器中打开RibbonTest.docm文件。
2. 在自定义UI编辑器中输入以下XML代码:
```xml
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="t1" label="Execute">
<group id="g1" label="Favorite Macros">
<menu id="m1" label="Choose a Macro">
<button id="b1"
imageMso="InkDeleteAllInk"
label="Convert Case"
onAction="ThisDocument.ConvertCase" />
<button id="b2"
imageMso="DataRefreshAll"
label="Replace 5pt with 10pt"
onAction="ThisDocument.UpSize" />
<button id="b3"
imageMso="PictureBrightnessGallery"
label="Memo Format"
onAction="ThisDocument.Memo" />
</menu>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
```
3. 点击自定义UI编辑器中的“Validate”按钮,如果消息显示代码没有拼写错误(即格式正确),选择“文件” -> “保存”,将此XML代码存储在RibbonTest.docm文件中。
4. 在Word中打开RibbonTest.docm文件,按Alt + F11打开VBA编辑器,确保在ThisDocument模块中有三个宏:ConvertCase、UpSize和Memo,代码如下:
```vba
Sub ConvertCase(control As IRibbonControl)
MsgBox "convert"
End Sub
Sub UpSize(control As IRibbonControl)
MsgBox "upsize"
End Sub
Sub Memo(control As IRibbonControl)
MsgBox "memo"
End Sub
```
此时可以返回RibbonTest.docm文档,点击“Execute”选项卡,会看到“Favorite Macros”组中的“Choose A Macro”菜单。菜单在Ribbon中由一个向下箭头图标表示,用户点击该图标可显示菜单项。
也可以将所有菜单按钮发送到一个宏,然后在该宏的VBA代码中通过测试它们的id属性来选择执行的操作。VBA代码如下:
```vba
Sub choosemacro(control As IRibbonControl)
Select Case control.ID
Case "b1"
```
0
0
复制全文
相关推荐








