vb.net开发中使用excel插件学习
以下是引用片段: Public Class ConnectClass Connect Implements Extensibility.IDTExtensibility2 Dim app As Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Dim addInInstance As Object Dim pasteText As Microsoft.Office.Core.CommandBarButton ‘定义一个工具栏按钮 Public Sub OnBeginShutdown()Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown End Sub Public Sub OnAddInsUpdate()Sub OnAddInsUpdate(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnAddInsUpdate End Sub Public Sub OnStartupComplete()Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete End Sub Public Sub OnDisconnection()Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection End Sub Public Sub OnConnection()Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection If TypeOf (application) Is Excel.Application Then app = CType(application, Excel.Application) addInInstance = addInInst wb = app.ActiveWorkbook ws = CType(wb.ActiveSheet, Excel.Worksheet) Dim toolbar As Microsoft.Office.Core.CommandBar = Nothing If Not app Is Nothing Then toolbar = AddToolbar(app, "专用工具栏") ’添加工具栏 End If ’ 建立按钮添加文本 pasteText = MakeANewButton(toolbar, "Insert text", 1044, AddressOf pasteText_Click) ’添加工具栏按钮并帮定事件 End Sub ’添加工具栏 Private Function AddToolbar()Function AddToolbar(ByVal ex As Excel.Application, _ ByVal toolbarName As String) As Microsoft.Office.Core.CommandBar Dim toolBar As Microsoft.Office.Core.CommandBar = Nothing Try ’ 为add-in建立一个命令条 toolBar = CType(ex.CommandBars.Add(toolbarName, Microsoft.Office.Core.MsoBarPosition.msoBarTop, , True), Microsoft.Office.Core.CommandBar) toolBar.Visible = True Return toolBar Catch Return Nothing End Try End Function ’在工具栏上添加一个按钮 ICbj Private Function MakeANewButton()Function MakeANewButton(ByVal commandBar As Microsoft.Office.Core.CommandBar, ByVal caption As String, ByVal faceID As Integer, ByVal clickHandler As Microsoft.Office. Core._CommandBarButtonEvents_ClickEventHandler) As Microsoft.Office.Core.CommandBarButton Try Dim newButton As Microsoft.Office.Core.CommandBarButton newButton = CType(commandBar.Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton), Microsoft.Office.Core.CommandBarButton) newButton.Caption = caption newButton.FaceId = faceID AddHandler newButton.Click, clickHandler Return newButton Catch ex As System.Exception Return Nothing End Try End Function ’点击工具条按钮时应该执行的程序 Public Sub pasteText_Click()Sub pasteText_Click(ByVal barButton As Microsoft.Office.Core.CommandBarButton, ByRef someBool As Boolean) Dim text As String = "" Dim data As System.Windows.Forms.IDataObject = System.Windows.Forms.Clipboard.GetDataObject() If data.GetDataPresent(System.Windows.Forms.DataFormats.Text) Then text = data.GetData(System.Windows.Forms.DataFormats.Text).ToString() If (Not app Is Nothing) Then Me.app.ActiveCell.Value = text End If End If End Sub End Class |
这样程序就完成了,赶紧动手体验吧!