Tipp 0071 Excel - Komponenten/Prozeduren ermitteln
Autor/Einsender:
Datum:
  Angie
27.05.2001
Entwicklungsumgebung:   Excel 97
Über die VBE-Programmierung ist es u.a. möglich direkt auf Module, den darin enthaltenen Makros und auf Userforms zuzugreifen.
In diesem Beispiel werden verschiedene Einsatzmöglichkeiten aufgezeigt, z.B. wie Module exportiert, importiert und gelöscht werden können. Auch die Erstellung eines neuen Moduls sowie das Hinzufügen eines Makros aus einer Textdatei wird hier demonstriert.
 
Option Explicit

'-- Vorhandenes Modul 'modModulExpImp' als bas-Datei exportieren --
Sub ModulExportieren()
  Dim pfad As String
  Dim modulName As String

  pfad = ThisWorkbook.Path
  modulName = "modModulExpImp"

  ThisWorkbook.VBProject.VBComponents(modulName). _
      Export pfad & "\" & modulName & ".bas"

End Sub

'-- Vorhandenes Modul 'modModulExpImp' löschen --
Sub ModulLoeschen()
  Dim modulName As String
  Dim codeModul As Object 'VBComponent

  modulName = "modModulExpImp"

  Set codeModul = ThisWorkbook.VBProject.VBComponents _
      (modulName)
  ThisWorkbook.VBProject.VBComponents.Remove codeModul

  Set codeModul = Nothing
End Sub

'-- Modul-Datei 'modModulExpImp.bas' importieren --
Sub ModulImportieren()
  Dim pfad As String
  Dim modulName As String

  pfad = ThisWorkbook.Path
  modulName = "modModulExpImp"

  ThisWorkbook.VBProject.VBComponents.Import _
      pfad & "\" & modulName & ".bas"
End Sub

'-- Makro aus Textdatei (*.txt) in ein vorhandenes Modul einlesen --
Sub MakroAusTextDateiImportieren()
  Dim modulName As String
  Dim neuesMakro As CodeModule
  Dim pfad As String
  Dim makroImportDatei As String

  modulName = "modModulMakroHinzufuegen"
  pfad = ThisWorkbook.Path
  makroImportDatei = pfad & "\" & "MakroImportDatei.txt"

  Set neuesMakro = ThisWorkbook.VBProject.VBComponents _
      (modulName).CodeModule
  neuesMakro.AddFromFile makroImportDatei

  Set neuesMakro = Nothing
End Sub

'-- Neues Modul hinzufügen und Makro aus Textdatei einlesen --
Sub NeuesModulMitMakroHinzufuegen()
  Dim neuesModul As Object 'VBComponent
  Dim neuesModulName As String
  Dim pfad As String
  Dim makroImportDatei As String

  neuesModulName = "modNeuesModul"
  pfad = ThisWorkbook.Path
  makroImportDatei = pfad & "\" & "MakroImportDatei.txt"

  Set neuesModul = ThisWorkbook.VBProject.VBComponents.Add _
      (vbext_ct_StdModule)
  neuesModul.Name = neuesModulName
  ThisWorkbook.VBProject.VBComponents(neuesModulName).CodeModule. _
      AddFromFile (makroImportDatei)

  Set neuesModul = Nothing
End Sub

'-- 'Neues Modul 'modNeuesModul' löschen
Sub NeuesModulLoeschen()
  Dim neuesModul As Object 'VBComponent
  Dim neuesModulName As String

  neuesModulName = "modNeuesModul"

  Set neuesModul = ThisWorkbook.VBProject.VBComponents _
      (neuesModulName)
  ThisWorkbook.VBProject.VBComponents.Remove neuesModul

  Set neuesModul = Nothing
End Sub
 
Hinweis
Im Download-Beispiel werden zur Demo die entsprechenden Codes auf einer Userform angezeigt. Wegen der umfangreichen Programmierung ist hier nur ein Teil des Codes dargestellt.
Für die VBE-Programmierung ist das Einbinden der Objektbibliothek Visual Basic For Applications Extensibility 5.3 notwendig.
Weitere Links zum Thema
VBE - Komponenten/Prozeduren ermitteln

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
Excel-Version
95
97
2000
2002 (XP)
2003
2007
2010


Download  (32,2 kB) Downloads bisher: [ 2178 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 10. Juli 2011