vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: Add-In Toolbar für VB 
Autor: Brian
Datum: 28.02.04 22:22

Hallo,

hier mal ein Auszug aus meinem aktuellen Projekt.
In VB wird automatisch eine neue Symbolleiste erstellt mit einem Button drauf.
Beachte auch die Notizen am Ende des Thread's.

Starte ein neues Projekt (AddIn) und füge in den automatisch erstellten Designer folgenden Code ein:
Option Explicit
 
'------------------------------------------------------
' Instanzzieren bzw. Implementieren der Verweise
'------------------------------------------------------
 
' Variable zum Verweis auf die VBIDE-Schnittstelle
' (Microsoft Visual Basic x.x Extensibility)
Public VBInstance             As VBIDE.VBE
 
' Variable auf den Designer bzw. Klassenmodul "Connect"
Public Connect                As dsrConnect
 
Const msoBarTop = 1 'Toolbaralignment
Const msoControlButton = 1 'Toolbarbutton
Const msoControlComboBox = 4 'Toolbarcombobox
 
'diverse Objekte einer Toolbar instanzieren
Dim VBCommBar                 As CommandBar 'ToolBar selbst
Dim VBCommBarCtrl_1           As CommandBarControl 'erster Button
 
 
Dim IsCommBar As Boolean
 
'Events-Schnittstelle
Public WithEvents menEvent_1  As CommandBarEvents    'Klick auf Button
 
 
Public FormDisplayed          As Boolean
Dim mcbMenuCommandBar         As Office.CommandBarControl
Public WithEvents MenuHandler As CommandBarEvents          _
  'Ereignisbehandlungsroutine der Befehlsleiste
 
'------------------------------------------------------
'Diese Method fügt das Add-In zu VB hinzu
'------------------------------------------------------
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal _
  ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As _
  Object, custom() As Variant)
   On Error GoTo AddinInstance_OnConnection_Error
 
   'VB-Instanz speichern
   Set VBInstance = Application
 
   'Dies ist eine gute Stellen, um eine Haltepunkt zu setzen
   'und verschiedene Add-In-Objekte, -Eigenschaften und
   '-Methoden zu testen
   Debug.Print VBInstance.FullName
 
   If ConnectMode = ext_cm_External Then
      'Wird von der Symbolleiste des Assistenten verwendet,
      'um diesen Assistent zu starten.
   Else
      Set mcbMenuCommandBar = AddToAddInCommandBar("Meine Symbolleiste")
      'Ereignis auffangen
      'Set Me.MenuHandler = VBInstance.Events.CommandBarEvents( 
      ' mcbMenuCommandBar)
   End If
 
   If ConnectMode = ext_cm_AfterStartup Then
      If GetSetting(App.Title, "Settings", "DisplayOnConnect", "0") = "1" Then
 
      End If
   End If
 
   On Error GoTo 0
   Exit Sub
 
AddinInstance_OnConnection_Error:
   SchreibeLogFehler Err.Number, Err.Description, Erl, "dsrConnect", _
     "AddinInstance_OnConnection"
End Sub
 
'------------------------------------------------------
'Diese Methode entfernt das Add-In aus VB
'------------------------------------------------------
Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As _
  AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
   On Error GoTo AddinInstance_OnDisconnection_Error
 
   VBCommBarCtrl_1.Delete
   VBCommBar.Delete
 
   Set VBInstance = Nothing '???
 
   'Set AddToAddInCommandBar = Nothing
   Set VBCommBar = Nothing
   Set VBCommBarCtrl_1 = Nothing
 
   Set menEvent_1 = Nothing
 
   On Error GoTo 0
   Exit Sub
 
AddinInstance_OnDisconnection_Error:
   SchreibeLogFehler Err.Number, Err.Description, Erl, "dsrConnect", _
     "AddinInstance_OnDisconnection"
End Sub
 
Function AddToAddInCommandBar(sCaption As String) As Office.CommandBarControl
   Dim cbMenuCommandBar As Office.CommandBarControl  'Befehlsleistenobjekt
   Dim cbMenu As Object
 
   On Error GoTo AddToAddInCommandBar_Error
 
   Set AddToAddInCommandBar = cbMenuCommandBar
 
   IsCommBar = True
 
   'Hinzufügen einer CommandBar
   'MsgBox "Hinzufügen einer CommandBar"
   Set VBCommBar = VBInstance.CommandBars.Add("MeinAddIn", msoBarTop)
   VBCommBar.Visible = True
 
   'Hinzufügen des ersten Buttonszur erstellten Symbolleiste   
Clipboard.SetData LoadResPicture(101, 0) 'Grafik aus Ressource laden
   Set VBCommBarCtrl_1 = VBCommBar.Controls.Add(msoControlButton)
   VBCommBarCtrl_1.PasteFace
   With VBCommBarCtrl_1
      .Style = msoButtonIcon
      .BeginGroup = False
      .Caption = "Formular"
      .ToolTipText = "Formular starten"
   End With
 
   'Events setzen
   Set menEvent_1 = VBInstance.Events.CommandBarEvents(VBCommBarCtrl_1)
 
   On Error GoTo 0
   Exit Function
 
AddToAddInCommandBar_Error:
   SchreibeLogFehler Err.Number, Err.Description, Erl, "dsrConnect", _
     "AddToAddInCommandBar"
End Function
 
'Klick auf den ersten Button
Private Sub menEvent_1_Click(ByVal CommandBarControl As Object, handled As _
  Boolean, CancelDefault As Boolean)
   On Error GoTo menEvent_1_Click_Error
 
   frmAddIn.Show vbModal
 
   On Error GoTo 0
   Exit Sub
 
menEvent_1_Click_Error:
   SchreibeLogFehler Err.Number, Err.Description, Erl, "dsrConnect", _
     "menEvent_1_Click"
End Sub
End Sub
Dann brauchst Du noch eine Ressorcendatei in welche Du ein Bildchen 16x16 einfügst mit dem Wert 101.

Die Programmierung der Formulare funktioniert auch weiterhin wie gehabt.

Beste Wünsche,
Bran
---
Du stolperst nicht durch die Steine die Dir in den Weg gelegt werden,
sondern durch die Einfallslosigkeit ihnen aus dem Weg gehen zu können.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Add-In Toolbar für VB823pRoToSs28.02.04 22:02
Re: Add-In Toolbar für VB622Brian28.02.04 22:22
Re: Add-In Toolbar für VB518pRoToSs29.02.04 11:11
Re: Add-In Toolbar für VB509Brian29.02.04 11:55
Beispiel....555Brian29.02.04 12:30
Re: Beispiel....607pRoToSs29.02.04 12:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel