Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Alle Module gleichzeitig exportieren, wie?

Forumthread: Alle Module gleichzeitig exportieren, wie?

Alle Module gleichzeitig exportieren, wie?
Werner
Hallo!
Wenn man aus dem Projekt-Explorer alle Module in einen Ordner exportieren will, geht das theoretisch
zwar schon (Beispielcode in Weber/Schwimmer, EXCEL-Programmierung, p. 786 f.), doch wenn ich das
versuche, kann mein Excel das reservierte Wort "VBComponent" bei der Deklaration
Dim VBComp As VBIDE.VBComponent
nicht erkennen.
Muss da vielleicht eine externe Bibliothek zugeschaltet werden?
Grüße Werner

Anzeige
AW: Alle Module gleichzeitig exportieren, wie?
22.04.2008 13:29:49
Rudi
Hallo,
Verweis auf
Microsoft Visualbasic for Applications extensibility
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Alle Module gleichzeitig exportieren, wie?
Werner
Hallo Rudi,
Das ist sicherlich eine Bibliothek! Noch einmal: Dank!
Werner

AW: Alle Module gleichzeitig exportieren, wie?
Werner
Hallo Rudi,
ich habe es nun mit der ...extensibility ausprobiert, aber Excel erkennt "VBComponents" immer noch
nicht. Der Programmcode war folgender (Weber/Schwimmer, Excel-Programmierung, p. 786):

Private Sub ExportAllModules()
Dim VBComp As Variant
Dim str As String
For Each VBComp In ThisWorkbook.VBProject.VBComponents
Select Case VBComp.Type
Case vbext_ct_ClassModule, vbext_ct_Document
str = ".cls"
Case vbext_ct_MSForm
str = ".frm"
Case vbext_ct_StdModule
str = ".bas"
Case Else
str = ""
End Select
If str  "" Then
VBComp.Export _
Filename:=ThisWorkbook.Path & "\" & _
VBComp.Name & str
End If
Next VBComp
End Sub


Gruß Werner

Anzeige
AW: Alle Module gleichzeitig exportieren, wie?
25.04.2008 02:23:17
Reinhard
Hi Werner,
lass das mal laufen, was steht im neuen Blatt?

Sub verweise()
Dim V, Z
Worksheets.Add
For Each V In ThisWorkbook.VBProject.References
Z = Z + 1
ActiveSheet.Cells(Z, 1) = V.Description
ActiveSheet.Cells(Z, 3) = V.FullPath
ActiveSheet.Cells(Z, 2) = V.IsBroken
Next V
ActiveSheet.Columns("A:C").AutoFit
End Sub


Gruß
Reinhard

Anzeige
AW: Alle Module gleichzeitig exportieren, wie?
Werner
Hallo Reinhard,
damit bekomme ich (bei zugeschaltetem Microsoft Visual Basic for Applications extensibility) den Laufzeit-
fehler 1004. Werner

AW: Alle Module gleichzeitig exportieren, wie?
25.04.2008 04:28:24
Reinhard
Moin Werner,
ich hab hier XL2000 und nur diese Verweise:
Visual Basic For Applications
Microsoft Excel 9.0 Object Library
OLE Automation
Microsoft Office 9.0 Object Library
Microsoft Visual Basic for Applications Extensibility 5.3
und mein Code und der von M.Schwimmer liefen.
1004? in welcher Zeile?
Teste es mal an einer neuen leeren datei, wenns da auch nicht klappt, lade sie mal hoch.
Gruß
Reinhard

Anzeige
OK
Werner
Hallo Reinhard,
jetzt hat es geklappt, nachdem ich den Code noch einmal neu getippt habe. Dank f. die Hilfe! Werner

Rumtippseln im Code von M. Schwimmer
26.04.2008 22:20:46
M.
Hallo Werner,
ich muß ehrlich sagen ich glaube irgendwie nicht dass Michael Schwimmer so was schreibt:
Dim VBComp As Variant
...
For Each VBComp In ThisWorkbook.VBProject.VBComponents
dafür ist er nicht der Held dafür *grien*
Hast du da vielleicht im Code rumgetippselt oder steht das echt so da in dem Buch?
Gruß
Reinhard

Anzeige
OK
Werner
Hallo Reinhard,
jetzt hat es geklappt, nachdem ich den Code noch einmal getippt habe. Dank f. die Hilfe! Werner
;
Anzeige

Infobox / Tutorial

Alle Module gleichzeitig exportieren in Excel


Schritt-für-Schritt-Anleitung

Um alle Module gleichzeitig aus einem Excel-Projekt zu exportieren, folge diesen Schritten:

  1. Bibliothek aktivieren: Stelle sicher, dass du die Bibliothek „Microsoft Visual Basic for Applications Extensibility“ aktiviert hast. Gehe dazu in den VBA-Editor (ALT + F11), wähle Extras > Verweise und aktiviere die entsprechende Option.

  2. VBA-Code verwenden: Nutze den folgenden VBA-Code, um alle Module zu exportieren:

    Private Sub ExportAllModules()
       Dim VBComp As Variant
       Dim str As String
       For Each VBComp In ThisWorkbook.VBProject.VBComponents
           Select Case VBComp.Type
               Case vbext_ct_ClassModule, vbext_ct_Document
                   str = ".cls"
               Case vbext_ct_MSForm
                   str = ".frm"
               Case vbext_ct_StdModule
                   str = ".bas"
               Case Else
                   str = ""
           End Select
           If str <> "" Then
               VBComp.Export _
               Filename:=ThisWorkbook.Path & "\" & _
               VBComp.Name & str
           End If
       Next VBComp
    End Sub
  3. Ausführen: Führe das Makro aus, um alle Module im aktuellen Verzeichnis zu exportieren.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn die benötigte Bibliothek nicht aktiviert ist. Überprüfe die Verweise in deinem VBA-Editor und aktiviere „Microsoft Visual Basic for Applications Extensibility“.

  • VBComponents nicht erkannt: Wenn Excel „VBComponents“ nicht erkennt, stelle sicher, dass die richtige Version von Excel verwendet wird und dass die Bibliothek korrekt aktiviert ist.

  • Code funktioniert nicht: Wenn der Code nicht funktioniert, versuche ihn in einer neuen leeren Arbeitsmappe auszuführen, um sicherzustellen, dass keine anderen Faktoren die Ausführung beeinflussen.


Alternative Methoden

Falls du nicht mit dem VBA-Code arbeiten möchtest, kannst du die Module auch manuell exportieren:

  1. Projekt-Explorer öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Module auswählen: Klicke mit der rechten Maustaste auf das Modul, das du exportieren möchtest.
  3. Exportieren: Wähle „Exportieren“ und speichere die Datei im gewünschten Ordner.

Diese Methode ist zwar zeitaufwendig, aber sie erfordert keine Programmierung.


Praktische Beispiele

Ein Beispiel für den Export von Modulen könnte so aussehen:

  • Angenommen, du hast drei Module (Modul1, Modul2 und Modul3). Nach dem Ausführen des Codes werden die Dateien „Modul1.bas“, „Modul2.bas“ und „Modul3.bas“ im gleichen Verzeichnis wie die Arbeitsmappe gespeichert.

Tipps für Profis

  • Automatisierung: Du kannst den Export der Module automatisieren, indem du den Code in ein Ereignis einfügst, das beim Öffnen der Arbeitsmappe ausgeführt wird.
  • Backup erstellen: Es ist sinnvoll, vor dem Export eine Sicherungskopie der Module zu erstellen, um Datenverlust zu vermeiden.
  • Versionsverwaltung: Überlege, eine Versionierungsstrategie für deine Module zu implementieren, um Änderungen leichter nachvollziehen zu können.

FAQ: Häufige Fragen

1. Wie aktiviere ich die VBA-Bibliothek?
Gehe in den VBA-Editor, wähle Extras > Verweise und aktiviere „Microsoft Visual Basic for Applications Extensibility“.

2. Warum bekomme ich einen Laufzeitfehler 1004?
Dieser Fehler kann auftreten, wenn ein benötigter Verweis nicht aktiviert ist oder der Code auf eine nicht vorhandene Komponente zugreift. Stelle sicher, dass alle notwendigen Bibliotheken aktiviert sind.

3. Kann ich die Module auch ohne VBA exportieren?
Ja, du kannst die Module manuell über den Projekt-Explorer im VBA-Editor exportieren, indem du mit der rechten Maustaste auf das Modul klickst und „Exportieren“ wählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige