zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Excel实战技巧:创建带有自定义功能区的Excel加载宏

Excel 技巧 创建 实战 自定义 加载 带有
2023-06-13 09:15:13 时间

创建的这个带有自定义功能区的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