分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

Excel-DNA项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【VB.Net版】

发布时间:2023-09-06 02:26责任编辑:熊小新关键词:暂无标签

Excel-DNA项目中的自定义功能区和自定义任务窗格需要用到各种命名空间、添加所需文件,才能实现。后来我发现可以把所有代码都写在Class1.vb这个默认文件中。

大家可以在Visual Studio中创建一个类库项目(.Net Framework),然后把默认的Class1.vb中的代码整体替换为下面我贴的这个代码。然后启动调试,就可以看到自定义功能区和任务窗格了。

 1 Imports System.Runtime.InteropServices 2 Imports ExcelDna.Integration 3 Imports ExcelDna.Integration.CustomUI 4 Imports Excel = Microsoft.Office.Interop.Excel 5 <ComVisible(True)> 6 Public Class Class1 7 ????Inherits ExcelRibbon 8 ????Implements IExcelAddIn 9 ????Public R As IRibbonUI10 ????Public Overrides Function GetCustomUI(RibbonID As String) As String11 ????????Dim xml As XElement12 ????????xml = <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">13 ??????????????????<ribbon startFromScratch="false">14 ??????????????????????<tabs>15 ??????????????????????????<tab id="Tab1" label="RibbonXmlEditor">16 ??????????????????????????????<group id="Group1" label="Author:ryueifu">17 ??????????????????????????????????<button id="Button1" label="CTP" imageMso="C" onAction="Button1_Click"/>18 ??????????????????????????????????<button id="Button2" label="UnLoad" imageMso="U" onAction="Button2_Click"/>19 ??????????????????????????????</group>20 ??????????????????????????</tab>21 ??????????????????????</tabs>22 ??????????????????</ribbon>23 ??????????????</customUI>24 ????????Return xml.ToString()25 ????End Function26 ????Public Sub OnLoad(ribbon As IRibbonUI)27 ????????R = ribbon28 ????????R.ActivateTab(ControlID:="Tab1")29 ????End Sub30 ????Public Sub Button1_Click(control As IRibbonControl)31 ????????ctp.Visible = Not ctp.Visible32 ????End Sub33 ????Public Sub Button2_Click(control As IRibbonControl)34 ????????Dim ThisAddin As Excel.AddIn35 ????????ThisAddin = ExcelDnaUtil.Application.AddIns.Item(Index:=My.Application.Info.AssemblyName)36 ????????ThisAddin.Installed = False37 ????End Sub38 39 ????Public Sub AutoOpen() Implements IExcelAddIn.AutoOpen40 ????????Module1.CreateCTP()41 ????End Sub42 43 ????Public Sub AutoClose() Implements IExcelAddIn.AutoClose44 ????????Module1.DisposeCTP()45 ????End Sub46 End Class47 48 Public Module Module149 ????Public uc As System.Windows.Forms.UserControl50 ????Public ctp As CustomTaskPane51 ????Public Sub CreateCTP()52 ????????uc = New Windows.Forms.UserControl53 ????????ctp = CustomTaskPaneFactory.CreateCustomTaskPane(userControl:=uc, title:="CTP")54 ????????With ctp55 ????????????.DockPosition = MsoCTPDockPosition.msoCTPDockPositionRight56 ????????????.Visible = True57 ????????End With58 ????End Sub59 ????Public Sub DisposeCTP()60 ????????ctp.Dispose()61 ????End Sub62 End Module

Excel-DNA项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【VB.Net版】

原文地址:https://www.cnblogs.com/ryueifu-VBA/p/10122610.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved