Excel VSTO开发10 -自定义任务面板

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

10 自定义任务面板

自定义任务面板(有些地方称为侧边面板)即CustomTaskPane,这个类在Microsoft.Office.Tools下面。以下将详细讲述如何实现自定义任务面板。

代码6\] CustomTaskPane的创建和使用 向项目添加一个"用户控件", ![](https://file.jishuzhan.net/article/1700407977103593473/8c1aeb147d7e4cc6aaa6dfac5981776a.jpeg) ******图**** ****19**** ****选择"用户控件"****** 在开发界面根据需要向用户控件窗体上增加相应内容。 ![](https://file.jishuzhan.net/article/1700407977103593473/2c23be32c15841c9a1d7f421c2f61ced.jpeg) ******图**** ****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 运行结果如下: ![](https://file.jishuzhan.net/article/1700407977103593473/2d4edc8b8e6840e8b471b86c339999ec.jpeg) ******图**** ****21**** ****Excel**** ****窗口右侧显示"任务面板"****** 在Ribbon开发界面下添加一个Group3,并在上面增加一个ToggleButton1: ![](https://file.jishuzhan.net/article/1700407977103593473/461041d129f64ae5883832cb7037e702.jpeg) ******图**** ****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的显示。

相关推荐
sunly_14 分钟前
Flutter:实现多图上传选择的UI
flutter·ui
Howie Zphile1 小时前
NEXTJS/REACT有哪些主流的UI可选
前端·react.js·ui
SamDeepThinking2 小时前
基于CompletableFuture的主子任务并行处理架构实战:多渠道账单并发导入性能提升5倍的技术方案
java·后端·excel
SamDeepThinking2 小时前
88MB Excel文件导致系统崩溃?看我如何将内存占用降低
java·excel
ChrisitineTX3 小时前
警惕数据“陷阱”:Python 如何自动发现并清洗 Excel 中的异常值?
开发语言·python·excel
wtsolutions4 小时前
Excel to JSON by WTSolutions 4.0.0 版本更新公告
json·excel·wps·插件·转换·加载项·wtsolutions
wtsolutions4 小时前
Excel to JSON by WTSolutions 4.0.0 Update Announcement
json·excel·wps·addin·wtsolutions·conversion
Wise玩转AI12 小时前
Day 27|智能体的 UI 与用户交互层
人工智能·python·ui·ai·chatgpt·ai智能体
yi碗汤园1 天前
C#实现对UI元素的拖拽
开发语言·ui·unity·c#