如何在Office12嵌入winform程序和添加Ribbon

如何在Office12嵌入winform程序和添加Ribbon,第1张

usingSystemusingSystem.Windows.FormsusingMicrosoft.VisualStudio.Tools.Applications.RuntimeusingExcel=Microsoft.Office.Interop.ExcelusingOffice=Microsoft.Office.CorenamespaceExcelAddInDemo{publicpartialclassThisAddIn{//office的自定义面板容器internalMicrosoft.Office.Tools.CustomTaskPanectp//office12的自定义RibboninternalExcelAddInDemo.Tools.Ribbonrb//普通Windows.Forms的UserControlinternalClassLibrary.OfficeUserControloucprivatevoidThisAddIn_Startup(objectsender,System.EventArgse){

VSTO生成的代码//实例化Ribbon按钮rb=newExcelAddInDemo.Tools.Ribbon()//实例化UserControlouc=newClassLibrary.OfficeUserControl()//给UserControl的按钮定义对外事件(可用委托,这里就不用了,懒,呵呵)

ouc.button1.Click+=newEventHandler(button1_Click)//把UserControl加载到office的自定义面板容器中ctp=this

.CustomTaskPanes.Add(ouc,TJ)ctp.Visible=false}privatevoidbutton1_Click(objectsender,EventArgse){Excel._Worksheetm_objSheet=(Excel._Worksheet)this

.Application.Workbooks.Application.Worksheets.get_Item(1)Excel.Rangem_objRange=this

.Application.SelectionasExcel.Range

m_objRange.set_Value(System.Reflection.Missing.Value,ouc.textBox1.Text)}protectedoverrideobjectRequestService(GuidserviceGuid){//添加Ribbon按钮到界面上if(serviceGuid==typeof(Office.IRibbonExtensibility).GUID){if(rb==null)rb=newExcelAddInDemo.Tools.Ribbon()returnrb}returnbase

.RequestService(serviceGuid)}privatevoidThisAddIn_Shutdown(objectsender,System.EventArgse){rb=nullthisVSTO生成的代码}}

你好,使用使用CommandBars对象的,可以获取excel标准的Ribbon的button信息。如果是customUI.xml自己编辑的按钮呢,如果遍历获取,所有自定义的这些按钮的信息,比如:id,size,label等属性呢?

CommandBars对象中所有与使用功能区相关的方法的列表。所有这些方法都包含参数idMso,该参数表示的是命令的名称。

ExecuteMso:执行控件

GetEnabledMso:如果指定控件被激活,则返回True.

GetImageMso:返回控件的图像

GetLabelMso:返回控件的标签

GetPressedMso:如果指定控件被按下,则返回True(应用于复选框和切换按钮控件)

GetScreentipMso:返回控件的屏幕提示(显示在控件中的文本)

GetSupertipMso:返回控件的超级提示(当鼠标指针移动到控件上时显现的对控件的描述)

---------------------


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11503283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存