Excel VSTO开发10 -自定义任务面板
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
10 自定义任务面板
自定义任务面板(有些地方称为侧边面板)即CustomTaskPane,这个类在Microsoft.Office.Tools下面。以下将详细讲述如何实现自定义任务面板。
[代码6] CustomTaskPane的创建和使用
向项目添加一个“用户控件”,

图19 选择“用户控件”
在开发界面根据需要向用户控件窗体上增加相应内容。

图20 设计“用户控件”界面
在ThisAddIn类代码下面添加:
'定义一个带事件的自定义任务面板
Public WithEvents AboutTaskPan As Microsoft.Office.Tools.CustomTaskPane
在ThisAddIn_Startup()中添加
'插件启动时候
Private Sub ThisAddIn_Startup() Handles Me.Startup
System.Diagnostics.Debug.WriteLine("Startup")
Dim userAbout As New UserControl1
'添加自定义任务面板,将会显示用户控件
AboutTaskPan = Globals.ThisAddIn.CustomTaskPanes.Add(userAbout, "任务面板")
AboutTaskPan.Visible = True
AboutTaskPan.DockPosition = Microsoft.Office.Core.MsoCTPDockPosition. msoCTPDockPositionRight
End Sub
运行结果如下:

图21 Excel窗口右侧显示“任务面板”
在Ribbon开发界面下添加一个Group3,并在上面增加一个ToggleButton1:

图22 Ribbon界面下增加ToggleButton
双击ToggleButton1,添加代码:
Private Sub ToggleButton1_Click(sender As Object, e As RibbonControlEventArgs) Handles ToggleButton1.Click
Globals.ThisAddIn.AboutTaskPan.Visible = ToggleButton1.Checked
End Sub
继续在ThisAddIn类代码下面添加如下代码:
Private Sub AboutTaskPan _VisibleChanged(sender As Object, e As EventArgs) Handles AboutTaskPan.VisibleChanged
Dim aboutribbon As Ribbon1 = Globals.Ribbons(0) '.GetRibbon("Ribbon1")
aboutribbon.ToggleButton1.Checked = AboutTaskPan.Visible
End Sub
上述代码在单击ToggleButton1后,根据ToggleButton1被选中的状态来决定是否显示“任务面板”,同时关闭“任务面板”时,调整ToggleButton1的显示。
相关文章:
Excel VSTO开发10 -自定义任务面板
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 10 自定义任务面板 自定义任务面板(有些地方称为侧边面板)即CustomTaskPane,这个类在Microsoft…...
百度智能云千帆大模型丨未来人手必备的代码助手
文章目录 1. 前言2. 千帆大模型平台3. 十分友好的功能4. comate代码助手5. 总结 1. 前言 我之前给大家推荐过Poe这个网站,它用的人比较少,但一旦接触后会发现它其实挺强大的。 因为它是一个可以同时支持好几个大模型的在线聚合平台。常用的GPT4&#x…...
美客多平台经营秘籍:为何测评补单操作是必要的?
许多经营美客多平台的商家有一种观念,他们认为美客多平台的规则与亚马逊有所区别。在美客多上,店铺比产品更重要,而且平台的竞争相对较小。因此,他们认为在美客多平台进行补单操作是不必要的。 然而,根据美客多平台的…...
AArch64内存管理
概述 本指南介绍AArch64中的内存转换,这是内存管理的关键。本文介绍了如何将虚拟地址转换为物理地址、转换表格式以及软件如何管理页表缓存 (TLB)。 这些对于底层代码(例如启动代码或驱动程序)开发人员都很有用。对于编写软件来设置或管理内…...
导出Excel的技术分享-综合篇
导出Excel的技术分享-综合篇 简单的EasyExcel使用 /*** 最简单的写*/public void simpleWrite() {// 注意 simpleWrite在数据量不大的情况下可以使用(5000以内,具体也要看实际情况),数据量大参照 重复多次写入// 写法1 JDK8// s…...
iPhone 14四款机型电池容量详细参数揭秘
苹果推出的iPhone 14系列与2021系列的设计和外形尺寸相同(仅缩小了几分之一毫米),所以这并不奇怪,但电池容量也大致相同。 虽然可能不足以对电池寿命产生可衡量的影响,但也存在微小的差异。不同的是,现在有…...
Python功能强大、灵活可扩展的Statsmodels库
Statsmodels是一个功能强大、灵活可扩展的Python库,用于进行统计建模和数据分析。它提供了一系列丰富的统计模型和方法,可以帮助研究人员和数据科学家在Python环境中进行高级统计分析。 概述 在Statsmodels中,线性回归是最常用的统计模型之…...
AcWing 4405. 统计子矩阵(每日一题)
如果你觉得这篇题解对你有用,可以点点关注再走呗~ 题目描述 给定一个 NM 的矩阵 A,请你统计有多少个子矩阵 (最小 11,最大 NM) 满足子矩阵中所有数的和不超过给定的整数 K ? 输入格式 第一行包含三个整数 N,M 和 K。 之后 N 行每行包含 …...
Kali Linux渗透测试技术介绍【文末送书】
文章目录 写在前面一、什么是Kali Linux二、渗透测试基础概述和方法论三、好书推荐1. 书籍简介2. 读者对象3. 随书资源 写作末尾 写在前面 对于企业网络安全建设工作的质量保障,业界普遍遵循PDCA(计划(Plan)、实施(Do…...
GPT与BERT模型
NLP任务的核心逻辑是“猜概率”的游戏。BERT和GPT都是基于预训练语言模型的思想,通过大量语料训练得到语言模型。两种模型都是基于Transformer模型。 Bert 类似于Transformer的Encoder部分,GPT类似于Transformer的Decoder部分。两者最明显的在结构上的差…...
2023-09-06力扣每日一题-摆烂暴力
链接: [1123. 最深叶节点的最近公共祖先](https://leetcode.cn/problems/form-smallest-number-from-two-digit-arrays/) 题意: 如题 解: 今天搞一手暴力,按层存,按层取,直到只取到一个 实际代码&…...
【Flutter】Flutter 使用 timego 将日期转换为时间描述
【Flutter】Flutter 使用 timego 将日期转换为时间描述 文章目录 一、前言二、安装与基本使用三、如何添加新的语言四、如何覆盖现有的语言或添加自定义消息五、完整示例六、总结 一、前言 你好!我是小雨青年,今天我要为你介绍一个非常实用的 Flutter 包…...
并发容器11
一 JDK 提供的并发容器总结 JDK 提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. ConcurrentLinkedQueue: 高效的并…...
Java8实战-总结22
Java8实战-总结22 使用流数值流原始类型流特化数值范围数值流应用:勾股数 使用流 数值流 可以使用reduce方法计算流中元素的总和。例如,可以像下面这样计算菜单的热量: int calories menu.stream().map(Dish::getcalories).reduce(0, Int…...
matlab 实现点云ICP 配准算法
一、算法步骤 (1)在目标点云P中取点集pi∈P; (2)找出源点云Q中的对应点集qi∈Q,使得||qi-pi||=min; (3)计算旋转矩阵R和平移矩阵t,使得误差函数最小; (4)对pi使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移变换,的到新的对应点集pi’={pi’=Rpi+t,pi∈P};…...
python提取word文本和word图片
提取文本 docx只支持docx格式,所以如果想读取doc需要另存为docx格式即可 import docx # pip3 install python-docx doc docx.Document(three.docx) for paragraph in doc.paragraphs:print(paragraph.text)提取图片 import zipfile import os, re # docx本质上…...
iOS开发Swift-9-SFSymbols,页面跳转,view屏幕比例,启动页-和风天气AppUI
1.创建项目 2.设置好测试机型,App显示名称,以及关闭横向展示. 3.下载SF Symbols. https://developer.apple.com/sf-symbols/ 右上角搜索 search ,可以找到很多系统自带图标.选择喜欢的图标,拷贝图标的名字. 插入一个Button,在Image中粘贴图标名称并选择,即可将Button变成想要的…...
代码优化工具-测试程序执行时间-IDEAdebug+StopWatch
参考: [技巧]IDEA的debugStopWatch监测程序运行时间 添加链接描述 1创建类StopWatchExpand import lombok.extern.slf4j.Slf4j;import org.springframework.util.StopWatch;import java.text.NumberFormat;/*** 检测程序片段运行时间拓展** author sdevil507* cr…...
力扣每日一题---2594. 修车的最少时间
文章目录 思路解题方法复杂度Code 思路 请注意,能力值越低,修车越快,应该翻译成「排名」,排名越靠前,修车越快。)根据题意可以知道r * n * n < t 的,所以可以利用数学知识进行改变公式&#…...
【jvm】运行时数据区
目录 一、运行时数据区一、作用二、说明三、线程共用与私有区域 一、运行时数据区 一、作用 1.内存是非常重要的系统资源,是硬盘和CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策…...
别再头疼了!手把手教你用赫优讯NT151网关搞定FANUC机器人与西门子S7-1500 PLC通讯
工业现场通讯实战:FANUC机器人与西门子S7-1500 PLC跨协议高效对接指南 当FANUC机器人的EtherNet/IP网络需要与西门子S7-1500的PROFINET系统握手时,现场工程师往往会面临协议壁垒带来的调试噩梦。去年在某新能源汽车电池产线项目中,我们团队用…...
稀疏三角求解器并行优化:GrowLocal算法解析
1. 稀疏三角求解器的并行调度挑战稀疏三角求解器(SpTRSV)是求解线性方程组$Lxb$或$Uxb$的核心算法,其中$L$和$U$分别是稀疏下三角和上三角矩阵。这类问题在科学计算、工程仿真和机器学习等领域有着广泛应用。然而,稀疏矩阵的非零元素分布不规则性导致其并…...
大模型涌现能力:从原理到工程实践的激发与评测方法
1. 项目概述:从“玄学”到“可操作”的涌现能力拆解最近和几个做模型训练和评测的朋友聊天,话题总绕不开“涌现能力”。这个词现在火得不行,但聊深了发现,大家对这个概念的理解其实挺割裂的。有人说它是大模型“开窍”的瞬间&…...
量子计算解决最大独立集问题的qReduMIS算法解析
1. 量子计算与最大独立集问题概述最大独立集问题(Maximum Independent Set, MIS)是图论中的一个经典NP难问题,其目标是找到给定无向图中最大的顶点子集,使得该子集中任意两个顶点之间没有边相连。这个问题在社交网络分析、无线网络…...
MOXA NPort 5110串口服务器避坑指南:网线直连、波特率设置与Web管理那些事儿
MOXA NPort 5110串口服务器实战避坑手册:从硬件部署到批量管理的深度解析 第一次接触工业级串口服务器时,我对着那个巴掌大的金属盒子发呆了十分钟——RJ45、DB9、电源接口密密麻麻挤在一起,配套光盘里还有三个不同功能的配置工具。直到现场调…...
从‘桥接模式’到‘Pimpl惯用法’:一个被C++编译器逼出来的设计智慧
从‘桥接模式’到‘Pimpl惯用法’:一个被C编译器逼出来的设计智慧 在面向对象编程的演进历程中,设计模式往往是对语言缺陷的优雅补偿。当Java和C#开发者享受着接口天然的"编译防火墙"时,C社区却不得不发明Pimpl这种看似笨拙实则精妙…...
ElevenLabs情绪模拟技术落地倒计时:欧盟AI法案生效前最后72小时,必须完成的5项情感输出审计项
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs情绪模拟技术落地倒计时:欧盟AI法案生效前最后72小时,必须完成的5项情感输出审计项 情绪向量合规性校验 欧盟《AI法案》附件III明确将“高风险情感交互系统”纳入严格…...
ElevenLabs语音克隆失败率骤降63%的关键:训练集音频信噪比阈值、时长分布与语速归一化黄金公式
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs英文语音生成的底层架构演进 ElevenLabs 的语音合成系统并非基于传统拼接或参数化 TTS 框架,而是构建在端到端神经声码器与自监督语音表征联合优化的混合架构之上。其核心演进路径…...
从稀疏重构到精准定位:OMP-CS算法在DOA估计中的实战解析
1. 从稀疏信号到空间定位:OMP-CS算法的核心逻辑 第一次接触OMP-CS算法时,我盯着那堆数学公式发呆了半小时。直到把天线阵列想象成麦克风阵列,事情突然变得简单——这不就是通过多个麦克风判断声音方向的升级版吗?在雷达和通信系统…...
libhv实战:手把手教你用C++写一个带自动重连的WebSocket客户端(附避坑指南)
libhv实战:构建高可靠WebSocket客户端的工程化实践 在实时数据采集和监控系统中,WebSocket客户端的稳定性直接决定了业务连续性。当网络出现闪断、服务端重启或负载波动时,简单的连接断开可能导致关键数据丢失。libhv作为高性能网络库&#x…...
