Addin-Programmierung - Seite 3
von Frank Schüler
Die Entwicklungsumgebung
Die Entwicklungsumgebung VBIDE
Das VBIDE-Objekt bietet diverse Objekte und Funktionen an, um z.B. Eigenschaften der VB-Entwicklungsumgebung auszulesen und zu setzen. So lassen sich über das VBE-Objekt allgemeine Informationen wie z.B. die Version, den Pfad zur VB-Exe, das aktuelle Projekt und die aktuell selektierte Komponente auslesen. Über das MainWindow- und das Windows-Objekt können Informationen zu den Fenstern in der VB-Entwicklungsumgebung ausgelesen werden und diverse Eigenschaften können verändert werden. Hier ein Beispiel zum Auslesen von allgemeinen Informationen zur VB-Entwicklungsumgebung.
Private Sub OKButton_Click() ' Bei Fehler zur Fehlerbehandlung On Error Goto error_handler ' Variablen zum zwischenspeichern Dim VBDispMod As String ' auslesen des VB-DisplayModels If VBInstance.DisplayModel = vbext_dm_MDI Then VBDispMod = "Multiple Document Interface (MDI)" Else VBDispMod = "Single Document Interface (SDI)" End If Text1.Text = "VB-EXE: " & VBInstance.FullName & vbNewLine & _ "VBIDE-Name: " & VBInstance.Name & vbNewLine & _ "VBIDE-Version: " & VBInstance.Version & vbNewLine & _ "VBIDE-DisplayModel: " & VBDispMod & vbNewLine & _ "VB-Template-Pfad: " & VBInstance.TemplatePath & vbNewLine & _ "Aktives Projekt: " & VBInstance.ActiveVBProject.Name & vbNewLine & _ "Aktives Element: " & VBInstance.SelectedVBComponent.Name & vbNewLine & _ "Letzter Pfad: " & VBInstance.LastUsedPath ' Wenn alles ok, dann Methode verlassen Exit Sub ' Fehlerbehandlung error_handler: ' Fehler anzeigen MsgBox Err.Description End Sub
Zugriff auf das Windows-Objekt
Das Windows-Objekt enthält eine Liste alle Fenster in der VB-Entwicklungsumgebung und über das Window-Objekt können wir ein bestimmtes Fenster ansprechen, Informationen auslesen und Eigenschaften eines Fensters ändern. In diesem Beispiel greifen wir auf das Fenster "ColorPalette" zu und ändern dessen Position und Größe.
Private Sub Command1_Click() ' Bei Fehler zur Fehlerbehandlung On Error Goto error_handler ' Window-Objekt Dim VBWindow As Window Dim VBColorPal As Window ' Variablen zum zwischenspeichern Dim CPalLeft As Long Dim CPalTop As Long Dim CPalWidth As Long Dim CPalHeight As Long ' alle Fenster durchlaufen For Each VBWindow In VBInstance.Windows ' wenn Fentertyp = ColorPalette If VBWindow.Type = vbext_wt_ColorPalette Then Set VBColorPal = VBWindow Exit For End If Next VBWindow MsgBox "ColorPalette anzeigen" ' ColorPalette anzeigen If VBColorPal.Visible = False Then VBColorPal.Visible = True ' speichern der Koordinaten CPalLeft = VBColorPal.Left CPalTop = VBColorPal.Top CPalWidth = VBColorPal.Width CPalHeight = VBColorPal.Height MsgBox "Position und Größe ändern" ' neue Koordinaten setzen VBColorPal.Top = 100 VBColorPal.Left = 100 VBColorPal.Height = 300 VBColorPal.Width = 500 MsgBox "alte Position und Größe" ' alte Koordinaten zurückschreiben VBColorPal.Left = CPalLeft VBColorPal.Top = CPalTop VBColorPal.Width = CPalWidth VBColorPal.Height = CPalHeight MsgBox "ColorPalette schließen" ' ColorPalette schließen VBColorPal.Close Set VBColorPal = Nothing ' Wenn alles ok, dann Methode verlassen Exit Sub ' Fehlerbehandlung error_handler: ' Fehler anzeigen MsgBox Err.Description End Sub
Das Window-Objekt bietet darüber hinaus noch die Möglichkeit auf die Eigenschaften der Frames und der Fenster in den Frames der VB-Entwicklungsumgebung zuzugreifen.