ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5827|回复: 7

[求助] VBA自定义选项卡问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-27 23:02 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 up360 于 2018-4-27 23:32 编辑

我的做法如下
第一步:在桌面上创建一个名为customUI的文件夹

第二步: 打开记事本,在其中复制下面的XML代码:文件名为CustomUI.xml,编码为UTF-8 保
存到桌面customUI文件夹中


<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="rxtabCustom"
        label="自定义工具"
        insertBeforeMso="TabHome">
        <group id="mygroupB" label="高三组">
   <button id="a1"
                      imageMso="DatabasePermissions"
                      size="large"
                      label="复制工作薄"
                     />
            
        </group>
   </tab>
    </tabs>
  </ribbon>
</customUI>
   第三步:在桌面上新建一个启用宏的Excel文件,并命名为MyCustomUI.xlsm,因为在自定义的XML中,包含了产生回调的onAction属性,所以创建的Excel文件需要启用宏。
第四步:在MyCustomUI.xlsm中,按Alt+F11组合键打开VBE,并插入一个标准模块,添加下面的代码供回调使用

Sub 复制工作薄()
'
' 复制工作薄 宏
'
'
    Workbooks.Add
    Windows("MyCustomUI.xlsm").Activate
    Cells.Select
    Selection.Copy
    Windows("工作簿1").Activate
    ActiveSheet.Paste
   
End Sub

第五步: 关闭工作簿MyCustomUI.xlsm。

第六步: 在MyCustomUI.xlsm图标上单击右键,选择“重命名”,在文件名后添加“.zip”扩展名,使其变为一个压缩文件

第七步: 双击该压缩文件,打开压缩包,将customUI文件夹拖到该压缩包中

第八步: 将压缩包中的_rels文件夹拖至桌面。

第九步:打开桌面中的_rels文件夹,然后用记事本打开其中的.rels文件

第十步: 在.rels文件的最后一个</Relationships>之前,添加下面的XML:


    <Relationship Id="customUIRelID"
    Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>

复制代码
第十一步: 保存该.rels文件并关闭。

第十二步: 将修改后的_rels文件夹拖回MyCustomUI压缩包中。如果出现提示,则选择是,覆盖原文件。关闭压缩包。

第十三步: 将MyCustomUI.xlsm.zip的.zip扩展名删除。

第十四步:双击MyCustomUI.xlsm文件,打开工作簿,此时在Excel内置选项卡“开始”的前面添加了一个自定义

         
   

2018-04-27_230011.png

新建文件夹.rar (18.6 KB, 下载次数: 103)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-27 23:33 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不好意思,我知道了

TA的精华主题

TA的得分主题

发表于 2018-7-1 10:51 | 显示全部楼层
回调程序缺少参数,在模块程序改写为”Sub 复制工作薄(ByVal Control As IRibbonControl)“即可。你试试

TA的精华主题

TA的得分主题

发表于 2020-8-23 16:40 | 显示全部楼层
感谢,借鉴您的思路实现了通过一个加载项增加自定义选项卡的功能

TA的精华主题

TA的得分主题

发表于 2020-9-8 10:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
大神们,为啥我按照步骤来了一遍,打开还是不显示新增选项卡呢?和office版本有关系么?我的是2016版的。另外<Relationship Id="customUIRelID" 这个ID代码是啥起名规则呢?谢谢

TA的精华主题

TA的得分主题

发表于 2024-10-20 13:46 | 显示全部楼层
本帖最后由 ly69yl 于 2024-10-20 13:48 编辑

这里有详细说明和相应菜单工具编辑器
https://bettersolutions.com/vba/ribbon/document-level-custom-ui-editor.htm

TA的精华主题

TA的得分主题

发表于 2024-10-20 13:47 | 显示全部楼层
这里有比较详细的菜单编辑说明和相应工具
https://bettersolutions.com/vba/ribbon/document-level-custom-ui-editor.htm

TA的精华主题

TA的得分主题

发表于 2024-10-21 01:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 13:38 , Processed in 0.041181 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表