当前位置: 首页 > news >正文

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 思路 请注意&#xff0c;能力值越低&#xff0c;修车越快&#xff0c;应该翻译成「排名」&#xff0c;排名越靠前&#xff0c;修车越快。&#xff09;根据题意可以知道r * n * n < t 的&#xff0c;所以可以利用数学知识进行改变公式&#…...

【jvm】运行时数据区

目录 一、运行时数据区一、作用二、说明三、线程共用与私有区域 一、运行时数据区 一、作用 1.内存是非常重要的系统资源&#xff0c;是硬盘和CPU 的中间仓库及桥梁&#xff0c;承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策…...

SpringMVC相对路径和绝对路径

1.相对地址与绝对地址定义 在jsp&#xff0c;html中使用的地址&#xff0c;都是在前端页面中的地址&#xff0c;都是相对地址 地址分类&#xff1a;&#xff08;1&#xff09;&#xff0c;绝对地址&#xff0c;带有协议名称的是绝对地址&#xff0c;http://www.baidu.com&…...

IIS perl python cbrother php脚本语言配置及简单测试样例程序

上篇笔记写了 IIS 配置 CGI&#xff0c; IIS CGI配置和CGI程序FreeBasic, VB6, VC 简单样例_Mongnewer的博客-CSDN博客 这篇在IIS上配置一些脚本语言。为了操作方便&#xff0c;每种语言在站点下分设文件夹。 1. IIS perl配置 Perl CGI方式是曾经流行的做法。先下载一个开源…...

Oracle Scheduler中日期表达式和PLSQL表达式的区别

参考文档&#xff1a; Database Administrator’s Guide 29.4.5.4 Differences Between PL/SQL Expression and Calendaring Syntax Behavior There are important differences in behavior between a calendaring expression and PL/SQL repeat interval. These differenc…...

Java设计模式:一、六大设计原则-06:依赖倒置原则

文章目录 一、定义&#xff1a;依赖倒置原则二、模拟场景&#xff1a;依赖倒置原则三、违背方案&#xff1a;依赖倒置原则3.1 工程结构3.2 抽奖系统**3.2.1 定义抽奖用户类**3.2.2 抽奖控制 3.3 单元测试 四、改善代码&#xff1a;依赖倒置原则4.1 工程结构4.2 抽奖控制改善4.2…...

信息系统数据同步解决方案

实施数据同步解决方案时&#xff0c;重要的是确保数据同步是安全的、可靠的&#xff0c;并且能够适应系统变化。定期测试和监控数据同步过程&#xff0c;以确保其稳定运行&#xff0c;并随着需求的变化进行适当的调整和优化。 应用场景&#xff1a;信息系统A和信息系统B实现员…...

LRU算法 vs Redis近似LRU算法

LRU(Least Recently Use)算法&#xff0c;是用来判断一批数据中&#xff0c;最近最少使用算法。它底层数据结构由Hash和链表结合实现&#xff0c;使用Hash是为了保障查询效率为O(1)&#xff0c;使用链表保障删除元素效率为O(1)。 LRU算法是用来判断最近最少使用到元素&#xf…...

浅析ARMv8体系结构:异常处理机制

文章目录 概述异常类型中断终止Abort复位Reset系统调用 异常处理流程异常入口异常返回异常返回地址 堆栈选择 异常向量表异常向量表的配置 同步异常解析相关参考 概述 异常处理指的是处理器在运行过程中发生了外部事件&#xff0c;导致处理器需要中断当前执行流程转而去处理异…...

Golang开发--Goroutine的使用

Go 语言天生支持并发编程&#xff0c;提供了丰富的原语和工具来编写并发程序。Goroutine 是 Go 语言中的轻量级执行单位。它们是由 Go 运行时&#xff08;runtime&#xff09;管理的&#xff0c;并且能够在单个线程上运行成千上万个 Goroutine。创建 Goroutine 非常高效&#x…...

【Linux】package ‘python-yaml‘ has no installation candidate 如何解决

要解决此问题&#xff0c;可以尝试以下几个步骤&#xff1a; 确保系统已经更新到最新版本。可以使用以下命令进行系统更新&#xff1a; sudo apt update sudo apt upgrade确保您的软件源列表中包含了正确的软件源。可以使用以下命令编辑软件源列表&#xff1a; sudo nano /etc/…...

Selector选择器在AspNetCore中的用法

Selector选择器在AspNetCore中的用法 背景 项目编辑过程中会选择其所属的上级项目&#xff0c;而上级项目在数据结构中是以ParentID的方式表达&#xff0c;而非Project类型&#xff0c;用户不会记录也不应该记录ID值&#xff0c;因此应提供Selector项目下拉框供用户选择。 但…...

网站用图片做背景图片/石家庄百度搜索引擎优化

C语言简介&#xff1a;BCPL->newB->C->UNIX->Linux->gccC语言专门编写操作系统的语言&#xff0c;所以天生适合对硬件编程&#xff0c;也以运行速度快著称&#xff0c;也非常适合实现数据结构和算法。由于出现时间过早&#xff0c;有很多缺陷&#xff0c;也没想…...

山西人工智能建站系统软件/淘宝店铺怎么引流推广

本节书摘来自异步社区《Android 应用案例开发大全&#xff08;第二版&#xff09;》一书中的第6章&#xff0c;第6.6节Android源代码与过滤器&#xff0c;作者李宁&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看 6.6 Android源代码与过滤器Android开发权威指…...

宁波网站建设-中国互联/网络软文营销案例

在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位&#xff0c;那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题&#xff0c;特别是电子交易发展方面相关的。他们会问面试…...

wordpress 农场模板/搜索引擎竞价推广的优势

网络作文教学设计作为一无名无私奉献的教育工作者&#xff0c;编写教学设计是必不可少的&#xff0c;教学设计一般包括教学目标、教学重难点、教学方法、教学步骤与时间分配等环节。优秀的教学设计都具备一些什么特点呢&#xff1f;下面是小编收集整理的网络作文教学设计&#…...

建模培训多少钱/广州aso优化公司 有限公司

这位博主在上一节课,成功实现了登陆状态嵌入到接口库的功能,本节会继续嵌入到用例库中。 要做的事情有以下几点: 1.用例库-大用例-步骤小用例 的设置页面上,加入一个个的登陆状态开关,方法和接口库调试层类似 2.在后端实际去调用接口的小用例方法中,加上关于登陆态的判断…...

怎么弄网站/广告营销公司

org.hibernate.cfg.Configuration实例代表了应用程序到SQL数据库的映射配置&#xff0c; Configuration对象提供了一个buildSessionFactory方法&#xff0c;该方法可以产生一个不可变的SessionFactory对象。 也可以直接实例化Configuration来获取一个实例&#xff0c;并为它指…...