Office customUI中如何动态更新控件标题和图标?

Stella981
• 阅读 529

本例,在Excel右键菜单中创建一个按钮,按钮的标题使用getLabel动态获取,图标使用getImage动态获取。

customUI XML代码:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OL">
    <contextMenus>
        <contextMenu idMso="ContextMenuCell">
            <button id="Button1" getLabel="GL" getImage="GI" insertBeforeMso="Cut"/>
        </contextMenu>
    </contextMenus>
</customUI>

工作簿中的VBA回调代码:

Public R As IRibbonUI
Public Sub OL(ribbon As Office.IRibbonUI)
Set R = ribbon
End Sub
Public Sub GL(control As Office.IRibbonControl, ByRef label)
label = Time
End Sub
Public Sub GI(control As Office.IRibbonControl, ByRef image)
Dim rnd As Integer
rnd = Application.WorksheetFunction.RandBetween(65, 90)
image = Chr(rnd)
End Sub

效果演示:

Office customUI中如何动态更新控件标题和图标?

源文件下载 

右键菜单显示时间.rar

想学习更多Office开发技能,赶紧加群联系群主!快满员了!

点赞
收藏
评论区
推荐文章
Irene181 Irene181
2年前
太强了,用Python+Excel制作天气预报表!
大家好,我是小F~今天给大家介绍一个PythonExcel的实战项目,非常有趣。主要使用xlwings和requests这两个Python库,以及Office的Excel。xlwings处理表格,requests则是请求数据。先从Excel中获取城市信息,然后请求接口,获取到天气信息,再返回给Excel。具体操作可以看下图~
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
希望的天 希望的天
3年前
Android动态更新APP图标
但凡一款用户量有一定的规模之后,运营都会在逢年过节的时候做一些活动来提高日活,促销商品等。所以为了配合活动,我们开发也需要在App启动图标上做出活动的效果,换一个活动图标,而且还在不额外发布版本的情况下。效果演示图:实现步骤1.首先在AndroidManifest中创建一个activity的别名,用于替换启动页的ac
Stella981 Stella981
2年前
Js和Thymeleaf如何获取model中的值
简述在大多数的项目架构中,使用SPringBoot发布微服务,前端采用Thymeleaf作为Html模版,使用Jquery作为动态脚本,那么Thymeleaf和Jquery是如何获取Model中的数据呢?Jquery获取Model中的数据方法1:将model中的值赋给hidden,然后Js获取隐藏域的值。
Stella981 Stella981
2年前
Android控件在xml中初始化
一、写在前面界面控件的初始化一般通过findViewByid来查找绑定再强制转换,这项工作只是个纯体力活没有任何营养,一般常用的是使用匿名内部类的方式:首先需要获取到layout中布局页面的Button控件中指定的Id:android:id"";之后为这样按钮绑定监听器,使用匿名内部类的方式,代码如下:
Stella981 Stella981
2年前
EasyExcel写入百万级数据到多sheet
EasyExcel是什么?快速、简单避免OOM的java处理Excel工具一、项目需求    从mongo库中查询数据,导出到excel文件中。但是动态导出的excel有多少列、列名是什么、有多少sheet页都需要动态获取。所以生成的excel也必须是动态生成,不能通过注解配置对象映射。而且写入的数据量,有可能达到100W级,使用传统的PO
Wesley13 Wesley13
2年前
VC++多线程编程[转]
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好.一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD\_SINGLETHREAD\_DIALOG添加一个按钮,ID为IDC\_SLEEP\_SIX\_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码
Stella981 Stella981
2年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Wesley13 Wesley13
2年前
JavaFX入门:简单Demo
零、最终目标通过两种方式(纯代码控制、FXML),实现一个简单的登录界面:Paste\_Image.png涉及到的控件:文本(Text,动态显示内容)、标签(Label,显示文本)、文本域(TextField,用户交互输入)、按钮(Button,登录点击)一、控件通过Code动态添加实现方法
调兵遣将 调兵遣将
3个月前
canvas 动态修改favicon(模拟消息提醒)
其实主要原理就是先获取到初始的favicon图标,填充到canvas画布中,动态在画布上画出消息提示。最后更新到favicon的href中去