我写了一堆宏来让办公室里的重复性任务耗费时间。 我一直在编辑它们,添加功能和调整。 每次,我都要去办公室的每个员工,取消隐藏他们的PERSONAL.xlsb文件,删除旧模块,添加新的和更新的模块。
这些宏由功能区上的自定义选项卡控制,有15个左右的按钮,每个按钮触发一个宏。 我不得不在自定义选项卡上添加/删除/更改按钮,然后必须为办公室中的每个人单独完成。
我正在研究将按钮编写到功能区上的脚本,但这似乎不可能从我读过的内容中看出来。 我最后根据我在本网站上看到的教程制作了一个customui xlsm文件,但这并不好,因为如果xlsm工作簿被隐藏或未打开,自定义选项卡就会消失。
基本上,我希望能够访问计算机,将PERSONAL.xlsb和CUSTOMRIBBON.xlsm复制到XLSTART文件夹中,并准备好立即使用。
有办法吗?或者它是不可能的......
答案 0 :(得分:4)
免责声明:此答案归功于Ron de Bruin。
你真的不需要分开文件。您只需要一个存储功能区和代码的文件。按照以下方式查看其工作原理......
关注使用Ron de Bruin's tutorial向Ribbon添加控件的Custom UI Editors for Microsoft Office。
它就像
一样简单创建工作簿并将其另存为加载项CustomRibbon.xlam
并将该文件放入C:\Users\yourUserName\AppData\Roaming\Microsoft\AddIns\
下载Custom UI Editors for Microsoft Office。当您打开它时,您想要加载CustomRibbon.xlam
并右键单击它并选择Office 2010 Custom UI
在窗口的右侧粘贴以下XML
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab idMso="TabHome" >
<group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel">
<button id="customButton1" label="Click Me" size="large" onAction="Macro1" imageMso="HappyFace" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
保存更改并关闭程序。
打开Excel,您应该会在功能区上看到新图标
CustomRibbon.xlam
中的按钮指定一个宏,但您必须直接打开CustomRibbon.xlam
并打开VBE并插入模块。然后在模块中粘贴以下内容 Sub Macro1(control As IRibbonControl)
MsgBox "Hi There"
End Sub
再次保存并关闭。请注意,在XML中,您已将OnAction
属性的值分配给Macro1
。显然,有更多按钮和更多宏,您可以为每个按钮分配触发器。
启用开发人员标签,点击加载项,确保CustomRibbon
已开启
现在打开Excel(而不是CustomRibbon),当您单击功能区上的笑脸按钮时,Macro1
中的代码应该执行,显示消息框
正如您所看到的,如果您将所有业务逻辑和功能区的XML放在CustomRibbon.xlam
中并将其作为加载项保存在每台计算机上,那么当您更新原始CustomRibbon
时1}}您在每个客户端上所做的只是用新的文件覆盖CustomRibbon
文件。
我希望这是您正在寻找的解决方案。
答案 1 :(得分:0)
对于仍然遇到此问题的人:
如上所述,CustomRibbon.xlam文件应保存/位于C:\Users\yourUserName\AppData\Roaming\Microsoft\AddIns\
我怀疑没有运气的人在CustomUI上错过了本网站的一些必需XML字段:
阅读自定义用户界面代码
在xml代码中,您可以看到自定义UI的每个部分都有一个标题:
每个项目都有唯一的ID,标签以及其他属性,例如单击按钮时运行的图标和宏。
Excel功能区自定义按钮代码
它导致了问题,因为代码的一些必填字段(customUI,功能区,制表符......)在上面的已发布答案中被截断,完整的完整代码是:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabHome" >
<group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel">
<button id="customButton1" label="Click Me" size="large" onAction="Macro1" imageMso="HappyFace" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
一旦存在所有必需的XML字段,它应该按预期工作。 此时遵循原始答案说明,它应该顺利工作。
答案 2 :(得分:0)
他们最近更新了自定义UI编辑器软件,以支持所有版本的MS Office,因为早期版本未正确支持较高版本(Office 2010 +)
现在该软件已重命名为 OFFICE RIBBONX EDITOR ,并且可以下载
以下是更多信息和下载的链接:
https://www.rondebruin.nl/win/s2/win001.htm
https://github.com/fernandreu/office-ribbonx-editor/releases/latest
非常感谢'Ron de Bruin','Fernando Andreu'和'Trang Luu'