最近在公司用到EXCEL需要导入用友U8的数据。所以就想着把这功能做成EXCEL的插件形式。虽然最后没有用上,但是这些知识学习了一下。记下来备用。也可以给还在找这方面资料的同学一起学习一下。
在公司写的。可能会有点乱。excel自定义菜单选项有两种方法:
1、借用OfficeCustomUIEditor 工具的
参考:http://www.exceltip.net/thread-4190-1-1.html
2、不借用任何工具,纯VBA环境下自定义EXCEL 菜单选项卡。
这两篇文章都写的很好很详细。
我用的是第一种方法。第二种方法我没时间测试研究了。因为项目放弃了。我也只能研究到这里,把这点知识记录下来。
1、安装OfficeCustomUIEditor 官网下载地址:
http://www.rondebruin.nl/win/s2/win002.htm
http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2006/05/26/customuieditor.aspx
这是最新版的,可惜项目已经停止更新了。
1、新建一个EXLS文件,打开,另存为EXCEL自定义菜单.xlsm
用安装好的Custom UI Editor打开xlsm文件
或者直接选择customUI.xml这个空白文档,在右侧插入如下代码:
- <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
- <!-- 这里需要注意的是添加的菜单TAB的位置是有insertAfterMso= 这个参数决定的。具体位置可以参照-->
- <!-- 添加的TAB位置可选的值是:insertAfterMso="TabHome" insertAfterMso="TabInsert" insertAfterMso="TabPageLayoutExcel" -->
- <!-- 添加的TAB位置可选的值是:insertAfterMso="TabFormulas" insertAfterMso="TabData" insertAfterMso="TabReview" -->
- <!-- 添加的TAB位置可选的值是:insertAfterMso="TabView" insertAfterMso="TabDeveloper" -->
- <ribbon startFromScratch="false">
- <tabs>
- <tab id="MyCustomTab" label="U8_Inport" insertAfterMso="TabDeveloper">
- <group id="customGroup1" label="First Tab">
- <button id="customButton1" label="JG Button 1" imageMso="HappyFace" size="large" onAction="Callback1" />
- <!--这里需要注意的是自定义图标的图片规格:should be 16X16, large 32X32, at 96dpi. -->
- <button id="customButton2" label="JG Button 2" imageMso="PictureBrightnessGallery" size="large" onAction="Callback2" />
- </group>
- </tab>
- </tabs>
- </ribbon>
- </customUI>
然后我们来自定义图标。需要注意的是图标的大小和格式。上面已经写清楚了。
- 图片规格:should be 16X16, large 32X32, at 96dpi
这里特别需要提醒注意的是如果选择的是系统图标的话用的标签是:imageMso="HappyFace"
如果是自定义图标的话,标签是:image="change" 这个我研究了很长时间,最后在上文的图片中才发现问题。然后保存。关闭。我们打开EXCEL自定义菜单.xlsm来看一下效果
看这就是我们自己做的图标啦。哦。对了。还有程序介绍一下。
- onAction="Callback1"这个是按下按钮后所调用的函数名称。想要按下按钮实现什么效果。就这样。
- 我们先点一下看。发现问题。
- <img src="https://img-blog.csdn.net/20160804092848532" alt="" />
- 然后启用宏
- </pre><pre name="code" class="html">
- <img src="https://img-blog.csdn.net/20160804093000152" alt="" />
打开Visual Basic编辑器,或者ALT+F11
插入模块。模块名称随便写,好像没有管理关系。比如我取个xiaolian。
打开xiaolian模块,插入如下代码。
然后保存,在按那个EXCEL图标,返回EXCEL界面。
我们来测试一下效果。
好了。在此,EXCEL自定义菜单图标就算告一段落。有兴趣的同学还可以研究一下这个
- group的位置,好像可以任意位置。具体我还没时间研究出来。
- 参考文献:<a target=_blank href="http://powerspreadsheets.com/custom-excel-ribbon/">http://powerspreadsheets.com/custom-excel-ribbon/</a>
- 搜索