这篇文章秉承拿来主义思想,学会复制粘贴使用即可,不做理论上的讲解,想深入学习的同学自行百度Ribbon,XML相关知识。
这篇文章主要介绍一下怎样给office菜单功能添加自定义的功能。在起名字的时候纠结了一下,本想直接写成《Microsoft Ribbon菜单功能区添加自定功能》,怕大家看到E问头皮发麻,就写了个很土但是能看懂的名字。
几篇参考文档:
1.Customizing the 2007 Office Fluent Ribbon for Developers https://docs.microsoft.com/zh-cn/previous-versions/office/developer/office-2007/aa338199(v=office.12)
2.VSTO二次开发PowerPoint之:XML方式创建Ribbon并自定义图标https://blog.51cto.com/yangfandev/1404925
office功能区添加自定义功能实质上是通XML添加的,这里推荐一个工具方便编辑修改XML文件。
OfficeCustomUIEditorSetup(2010支持中文编辑).rar
OfficeidMsoViewer,本工具用于查看Office内置控件的idMso属性。
OfficeidMsoViewer.zip
1.启动Excel文件,新建一个Excel文件,另存为xlsm格式,关闭Excel。查看图示
2.启动Custom UI Editor For Microsoft Office软件,打开刚才保存的Excel文件。查看图示
3.依次点击Inset-Sample XML-Excel-A Custom Tab。查图示
最终效果
4.保存,双击打开Excel文件查看效果。查看图示
在XML中:
id相当于给每个模块定义的名称,必须唯一不能重复。
label是相应空间在tab上显示的名称。
size控件打开,可以是large和small。
onAction控件点击后执行的事件名称。
1.固定格式部分,用于声明,使用过程中不用修改。
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
</ribbon>
</customUI>
2.Excel上面整个功能区都属于tabs,是tab的集合。开始、插入、页面布局...这些都属于tab。
<tabs>
<tab id="customTab" label="Contoso" insertAfterMso="TabHome">
</tab>
</tabs>
3.实例中我们插入了一个tab,叫Contoso,在开始tab后面。
<tab id="customTab" label="Contoso" insertAfterMso="TabHome">
</tab>
4.插入6组功能,也就是6个group。其中id为customGroup之中加入了3个按钮。由于版本兼容性问题6个group之中只显示了前3。
<group idMso="GroupClipboard" />
<group idMso="GroupFont" />
<group id="customGroup" label="Contoso Tools">
<button id="customButton1" label="ConBold" size="large" onAction="conBoldSub" imageMso="Bold" />
<button id="customButton2" label="ConItalic" size="large" onAction="conItalicSub" imageMso="Italic" />
<button id="customButton3" label="ConUnderline" size="large" onAction="conUnderlineSub" imageMso="Underline" />
</group>
<group idMso="GroupEnterDataAlignment" />
<group idMso="GroupEnterDataNumber" />
<group idMso="GroupQuickFormatting" />
摘要:用过Excel人都应该有这种体会,公式用好了就如神一般的存在,一大堆数据分分钟搞定。但大家却不一定知道另一个神一般存在的东西——vba。公式和vba就像是屠龙刀+倚天剑一样的存在,强大到让你质疑以前学的都是假的。公式是Excel专有的,VBA是Microsoft Office软件都可以用的。一套NB的VBA代码可以通过点一下按钮完成一大堆工作,也有可能看着让你爱机CPU占用率100%几个小时出不了结果...
借用百度百科的一段话解释一下:
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。(原文链接https://baike.baidu.com/item/VBA/1596798)
有点长,通俗点将就是Microsoft office支持的一中脚本语言,语法和VB一致,可以扩展Micsoft office功能。
能做的太多了...点一下导入数据,点一下弹出个对话框,点一下生成个数据报表...学VBA就是为了解放双手,提高生产力。
说明一下,截图上的这些按钮的实现与VBA没有关系,但是点了按钮以后执行的命令是用VBA写的。如何添加菜单实现功能后面会介绍。
如果你学过VB,只需了解一些感念就能入门,
如果你不知道啥是编程,没关系,VBA的语法很简单,没你想象的那么复杂。
学习是免费的,不花钱,网上教程一大把。如果你想花钱的话就买一套正版的Microsoft office吧,这东西绝对比盗版的好用。
电脑端网页手机端打开最方便的就是扫二维码,下面我们就手动给Typecho文章底部添加二维码
下载地址:http://code.ciaoca.com/javascript/qrcode/
依次点击控制台-外观-编辑当前外观-打开post.php文件查看图示
找到<?php $this->content(); ?>,在< / div >后面加入代码。查看图示
<div id="qrcode" style="width:130px;margin:50px auto 0 auto;"></div>
<div style="text-align:center">扫一扫在手机打开当前页</div>
<script src="<?php $this->options->themeUrl('js/qrcode.min.js'); ?>"></script>
<script>
var qrcode = new QRCode('qrcode', {
text: window.location.href,
width: 128,
height: 128,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: QRCode.CorrectLevel.H
});
</script>
网址:http://ningxia-zxkt.dpyfjy.com/
Console代码
$(".t-p-is-options").each(function()
{
var shijiAnswer=$(this).find(".shijiAnswer").val();
var ans=$(this).find(".user_answer\[value='"+shijiAnswer+"'\]");
ans.click();
})