创建的这个带有自定义功能区的Excel加载宏将可以有任意工作簿中使用,下面我们详细讲解其创建过程。
第1 步:创建一个新工作簿,将其保存为启用宏的工作簿(本示例使用名称MyCustomRibbon.xlsm)。
第2步:单击“文件——信息”,选择“属性——高级属性”,如下图1所示。
图1
在“属性”对话框中,“标题”属性显示加载宏名称,“备注”属性显示加载宏详细说明,如下图2所示。
图2
第3步:添加宏。由于自定义功能区的每个命令都需要有相应的事件处理程序,而这需要宏来实现。
打开VBE,在ThisWorkbook代码模块输入代码:
Public Sub MyMacro(ByRef control As Office.IRibbonControl)
Call MsgBox("来自加载宏的问候")
End Sub
如下图3所示。
图3
第4步:保存为Exce加载宏(“.xlam”)。
单击“文件——另存为”,在“保存类型”下拉列表中选择“Excel加载宏(*.xlam)”,如下图4所示。此时,Excel会自动更改为默认的加载宏文件夹,你可以导航到你想要保存的文件夹。
图4
第5步:在Custom UI Editor中打开并编辑加载宏。
打开Custom UI Editor,选择“File——Open”,导航到MyCustomRibbon.xlam文件。在文件名上单击右键,选择“Office 2010 Custom UI Part”或“Office 2007 Custom UI Part”,如下图5所示。
图5
注:如果使用Office 2010及以后的版本,选择“Office 2010 Custom UI Part”,插入customUI14.xml。如果使用Office 2007,选择“Office 2007 Custom UI Part”,插入customUI.xml。
在CustomUI Editor的代码窗口,输入或者粘贴下面的xml:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="customTab" label="My Add-in" insertBeforeMso="TabHome">
<group id="customGroup" label="My Group">
<button id="customButton1"
label="LargeButton"
size="large"
screentip="Mydescription"
onAction="ThisWorkbook.MyMacro"
imageMso="PictureCorrectionsMenu" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
标签粘贴后将自动格式化。单击工具栏上的“Validate(验证)”按钮检查XML格式是否正确,如下图6所示。
图6
保存并关闭Custom UI Editor。
第6步:关闭Excel,然后重新打开Excel。单击“文件——选项”,在“Excel选项”对话框中选择左侧的“加载项”,然后在右侧底部的“管理”下拉列表中选择“Excel加载项”,单击“转到”按钮,如下图7所示。
图7
在“加载宏”对话框中,选择刚才创建的“自定义界面加载宏”,如下图8所示。如果在“可用加载宏”列表中没有出现自已创建的加载宏,则单击“浏览”按钮,导航到加载宏所在的文件夹,选择该加载宏即可。
图8
此时,在Excel工作簿功能区中出现了一个新的选项卡,如下图9所示。单击选项卡组中的按钮,会调用相应的宏显示信息。
图9
第7步:修改成中文。我们可以看到,界面显示的自定义选项卡是英文,这是因为Custom UI Editor不支持中文。
修改加载宏文件的扩展名为.zip,使其变为压缩文件。双击该压缩文件,找到customUI文件夹中的customUI14.xml文件,拖动到桌面,然后使用记事本打开该文件,将其中要显示的英文修改为中文,如下图10所示。
图10
修改完成后,保存该文件并关闭。然后,将其拖回压缩文件,覆盖掉原customUI14.xml文件。
最后,将压缩文件扩展名恢复为正常的加载宏扩展名。打开Excel,可以看到自定义的选项卡已经修改成了中文,如下图11所示。
图11