Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Quellcode aus xla (Addin) exportieren

Quellcode aus xla (Addin) exportieren
Tobias
Hallo Forum!
vor ein paar Wochen habt ihr mir schon super weitergeholfen, nun habe ich ne weitere Frage zu dem Thema, muss aber nen neuen Thread aufmachen, da der alte ja schon gelöst war.
Ich habe ein Makro, was mir automatisch den Quellcode exportiert und in Textdateien speichert. Dies Makro kann aber nur Quellcode aus dem akutell offenen Workbook exportieren. Ich würde aber gerne auch Quellcode exportieren können, der in einem add-in (xla-Datei) liegt. Dazu müßte ich wohl diese Zeile ändern:
With ActiveWorkbook.VBProject
Indem ich nicht auf ein ActiveWorbook zugreife, sondern auf ActiveAddin oder so. Geht das? Wie geht das? Danke für eure Hilfe!!
Der gesammte Quellcode:

'Prozedur erstellt unter Excel 2003
Sub Code_Export()
'Gesamten Code und Module der aktiven Datei exportieren
'Zur Ausführung der Prozedur muss:
'1. Im VBA-Editor unter Extras--> Verweise... _
der Verweis auf die _
Microsoft Visual Basic for Applications Extensibility x.x _
aktiviert werden
'2. In Excel unter Extras --> Optionen --> Sicherheit --> Makrosicherheit _
die Option "Zugriff auf das VB-Projekt vertrauen" aktiviert werden.
Dim myVBComponent As VBComponent, varFolderName, wbAktiv As Workbook
Dim strFile As String
On Error GoTo Fehler
If MsgBox("Sämtlichen VBA-Code der aktiven Mappe exportieren?", _
vbYesNo, "VBA-Code-Export") = vbYes Then
Set wbAktiv = ActiveWorkbook
'Verzeichnis auswählen für Export
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
'Verzeichnis "C:\Lokale Daten\Test\" als Basis-Verzeichnis für Code- _
Dateien ggf. anpassen
strFile = "D:\VW\" & "Code_" & _
VBA.Replace(wbAktiv.name, ".", "_")
If Dir(strFile, vbDirectory) = "" Then
VBA.MkDir strFile
End If
.InitialFileName = strFile & Application.PathSeparator
.title = "Bitte den Ordner wählen, in dem das Unterverzeichnis " _
& "für Export angelegt werden soll"
If .Show  False Then
varFolderName = .SelectedItems(1)
'Unterverzeichnis für Dateien erstellen
varFolderName = varFolderName & Application.PathSeparator _
& Format(Now, "YYYYMMDD_hhmm")
VBA.MkDir Path:=varFolderName
'Unterverzeichnis für TXT-Dateien erstellen
VBA.MkDir Path:=varFolderName & Application.PathSeparator & "TXT"
Else
Exit Sub
End If
End With
With ActiveWorkbook.VBProject
For Each myVBComponent In .VBComponents
With myVBComponent
Select Case .Type
Case 1: strFile = .name & ".bas" 'Allgemeines Modul
Case 2: strFile = .name & ".cls" 'Klassenmodul
Case 3: strFile = .name & ".frm" 'Userform
Case 100: strFile = .name & ".cls" 'Tabelle oder DieseArbeitsmappe
End Select
'alle Module  exportieren
.Export filename:=varFolderName & Application.PathSeparator & strFile
'Code der Module als TXT-Datei speichern
.Export filename:=varFolderName & Application.PathSeparator & "TXT" _
& Application.PathSeparator & .name & ".txt"
If .Type = 3 Then 'Userform
'Bei Userformen die erzeugte frx-Datei wieder löschen
strFile = varFolderName & Application.PathSeparator & "TXT" _
& Application.PathSeparator & .name & ".frx"
Kill strFile
Else
End If
End With
Next
End With
End If
MsgBox "Fertig"
Fehler:
With Err
If .Number  0 Then
Select Case .Number
Case 1004
MsgBox "Fehler: " & .Number & vbLf & .description & vbLf _
& "Vor Start des Makros unter Optionen ""Sicherheit --> " _
& "Makrosicherheit"" Option " _
& """Zugriff auf das VB-Projekt vertrauen"" aktivieren!"
Case Else
MsgBox "Fehler: " & .Number & vbLf & .description
End Select
End If
End With
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
Workbooks("...xla").VBProject... sollte es...
25.09.2009 04:47:27
Luc:-?
...sein, Tobias,
wenn das AddIn-Projekt nicht geschützt ist und gestartet wurde. Außerdem kannst du das AddIn-Projekt mit seinem Namen ansprechen, wenn es denn einen eigenen hat (vgl Objekt-Manager, Bibliotheken, dein AddIn)...
Gruß Luc :-?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige