ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 用xml添加自定义图片到Excel功能区(纯记事本编辑)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2011-8-21 18:32 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:UI界面定制
本帖最后由 xtanuihazfh 于 2011-8-22 13:01 编辑

纯记事本编辑添加自定义图片到功能区
首先创建一个xlsm后缀格式的Excel文件(Excel启用宏的工作簿)
1.png
不要打开此文件,右键单击此文件,选择以winRAR压缩文件管理器来打开该文件,如果没装这个软件的也可以用其它压缩管理软件解压后进入压缩包
2.png
3.png
在空白区域单击右键创建一个新文件夹,并将其命名为customUI
打开_rels文件夹中的.rels文件,在其中</Relationships>标记之前添加以下代码
  1. <Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" />
复制代码
这行代码用于将工作簿文件与我们将要自定义功能区的xml文件管理关系,使打开工作簿时能够识别我们要定义的xml文件
保存关闭,更新文件
4.png
然后回到我们的customUI文件夹打开记事本,输入以下代码

  1. <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
  2.   <ribbon>
  3.     <tabs>
  4.       <tab id="CustomTab" label="我的自定义选项卡" insertAfterMso="TabHome">
  5.         <group id="Group1" label="自定义组1">
  6.           <button id="Button1" label="联系作者" size="large" onAction="联系作者" image="A"/>
  7.         </group >
  8.       </tab>
  9.     </tabs>
  10.   </ribbon>
  11. </customUI>
复制代码
然后保存此文件文件为customUI.xml,保存时一定要注意编码方式要选择UTF-8,否则将不能使中文识文字显示在选项卡中
5.png
保存后将customUI.xml拖到我们压缩文件管理器中的customUI文件夹中
中间可能大家已经注意到xml代码中的image="A" 这一部分是用于设置按钮图标的,但是其中的A是从哪来的呢,不要急,接着往下看
回到压缩文件管理器中的customUI文件夹再创建一个文件夹命名为images,打开此文件夹,将我们的自定义图标文件拖进去
6.png
OK,现在的图标文件已经准备完毕,现在只要我们为它定义一个名称即可在customUI.xml文件中调用它了
再次打开记事本,输入以下代码

  1. <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  2. <Relationship Id="A" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="images/001.png" />
  3. </Relationships>
复制代码
保存为customUI.xml.rels,要注意编码方式哦….
再次回到回到压缩文件管理器中的customUI文件夹创建一个文件夹,将其命名_rels,
然后打开将我们刚才定义的customUI.xml.rels拖进去,此时我们的customUI文件夹如下
7.png
此时可以打开工作簿文件看一下效果了
8.png
打开工作簿时会有这个提示,我们点是
9.png
然后会有这个提示,先不理它,此时我们只关心我们之前所做的工作有没有得到回报
焦点转向选项卡
10.png
确实达到预期的效果,此时可以保存工作簿了,如果没有见到这个按钮的话请关闭不保存工作簿然后检查之前的步骤是否正确
做好按钮以后我们不能只放那光看不用,是吧?下面该写按钮回调了
打开我们刚才的Excel文件,按下ALT+F11打开VBE编辑器,在工程资源管理器中插入一个模块复制以下代码进去

  1. Sub 联系作者(ByVal control As IRibbonControl)
  2.     Dim QQNO As String, IE As Object
  3.     QQNO = 447502105
  4.     Set IE = CreateObject("internetexplorer.application")
  5.     IE.navigate "tencent://message/?uin=" & QQNO, vbHide
  6.     IE.Quit
  7.     Set IE = Nothing
  8. End Sub
复制代码

以上过程可以打开目标QQ的会话
呵呵,是否学会了呢?大家可以试着在边上再加个按钮,效果如下图
11.png
以下是按钮的回调
  1. Sub EH论坛(ByVal control As IRibbonControl)
  2.     Dim IE As Object
  3.     Set IE = CreateObject("internetexplorer.application")
  4.     IE.navigate "club.excelhome.net"
  5.     IE.Visible = True
  6. End Sub
复制代码
记事本编辑xml代码添加自定义图片到功能区.rar (454.41 KB, 下载次数: 2089)
再补一个相关的视频文件的下载地址 http://u.115.com/file/aqbgdkie#

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-8-21 18:40 | 显示全部楼层
{:soso__15002582214965628431_2:}  哈哈。。。。沙发。。。。。

TA的精华主题

TA的得分主题

发表于 2011-8-21 18:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-8-21 19:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-8-21 19:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-8-21 19:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
不错,学习

TA的精华主题

TA的得分主题

发表于 2011-8-21 19:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ExcelHome 于 2012-10-6 16:43 编辑

很强大的!学习了!

TA的精华主题

TA的得分主题

发表于 2011-8-22 10:07 | 显示全部楼层
学习一下               .

TA的精华主题

TA的得分主题

发表于 2011-8-22 10:32 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-8-22 11:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-22 18:19 , Processed in 0.052562 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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