Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1156to1160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
kompletten VBA-Code sichern in txt-Datei
Maxer
Hallo Forum,
ich habe da mal eine Frage. Ich war bis heute noch nie in der Verlegenheit meinen VBA-Code aus Exceltabellen in eine seperate Datei losgelöst von Excel zu speichern. Doch leider ist es mir in der letzten Zeit 2x passiert das mir große VBA-Projekte (aufwendige Exceltabellen mit vielen Userformen etc) durch Speicherfehler seitens meines Computers kaputt gegangen sind und somit die Arbeit von Monaten hinüber ist.
Gibt es eine Möglichkeit wie ich einen kompletten VBA-Code, der sich sowohl in den Tabellen als auch in Modulen befindet in txt.Dateien zu sichern und im Fall der Fälle kann ich diesen dann auch wieder importieren?
Danke für eure Hilfe.
Gruß Ron

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: kompletten VBA-Code sichern in txt-Datei
10.05.2010 08:41:15
Hajo_Zi
Hallo Ron,
das ist nun keine *.TXT Datei.
Option Explicit
Public Sub alleMakrosExportieren()
'   von Nepumuk
'   Export des gesamten Codes
'   aus ThisWorkbook
'   vor Export sollten bereits vorhandener Code im Verzeichnis gelöscht werden
'   damit es mit dem Import Fehlerfrei geht
Dim vbc As Object, iCounter As Integer, sMacro As String, cType As String
For Each vbc In ThisWorkbook.VBProject.VBComponents
With vbc.CodeModule
For iCounter = 1 To .CountOfLines
If .ProcOfLine(iCounter, 0) > "" Or InStr(1, .Lines(iCounter, 1), "Dim")  0 _
Or InStr(1, .Lines(iCounter, 1), "Public")  0 _
Or InStr(1, .Lines(iCounter, 1), "Type")  0 _
Or InStr(1, .Lines(iCounter, 1), "Static")  0 _
Or InStr(1, .Lines(iCounter, 1), "Declare")  0 Then
Select Case vbc.Type
Case 1: cType = ".bas"
Case 2, 100: cType = ".cls" 'Tabelle; DieseArbeitsmape
Case 3: cType = ".frm"
End Select
' Ablagephad
Workbooks(ThisWorkbook.Name).VBProject.VBComponents(vbc.Name).Export _
"C:\Windows\Temp\" & vbc.Name & cType
Exit For
End If
Next iCounter
End With
Next vbc
End Sub
Public Sub Import1()
'   von Nepumuk
Dim vbc As Object, iCounter As Integer, StDateiname As String
With ThisWorkbook.VBProject '  Workbooks("Testmappe.xls").VBProject
For Each vbc In .VBComponents
Select Case vbc.Type
Case 1, 2, 3: .VBComponents.Remove .VBComponents(vbc.Name)
Case 100
With vbc.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
StDateiname = Dir("C:\Windows\temp\" & "*.*")
Do While StDateiname  ""
If UCase(Right(StDateiname, 4)) = ".BAS" Or UCase(Right(StDateiname, 4)) = ".FRM"  _
Or UCase(Right(StDateiname, 4)) = ".CLS" Then
.VBComponents.Import "C:\Windows\Temp\" & StDateiname
End If
StDateiname = Dir
Loop
For Each vbc In .VBComponents
If vbc.Type = 2 Then
If Left(vbc.Name, 5) = "Diese" Or Left(vbc.Name, 7) = "Tabelle" Then
.VBComponents(Left(vbc.Name, Len(vbc.Name) - 1)).CodeModule.InsertLines 1,  _
vbc.CodeModule.Lines(1, vbc.CodeModule.CountOfLines)
.VBComponents.Remove .VBComponents(vbc.Name)
End If
End If
Next vbc
End With
End Sub

Anzeige
AW: kompletten VBA-Code sichern in txt-Datei
10.05.2010 10:45:38
Maxer
Hallo Hajo,
danke für den VBA-Code. Beim überfliegen der Codezeilen habe ich verstanden wie er funktioniert. Ich werde ihn später ausprobieren.
Gruß Ron
AW: kompletten VBA-Code sichern in txt-Datei
11.05.2010 00:40:48
Daniel
Hi
wenns nicht allzuviele Userformen sind, kannst du die Userformen und allgemeinen Module einfach exportieren, in dem du im Projektexplorer mit der rechten Maustaste draufklickst und dann exportieren auswählst. Zum Importieren dann einfach DATEI-IMPORTIERN klicken und die entsprechenden Dateien auswählen oder per Drag'n'Drop aus nem Datei-Explorer in den VBA-Editor ziehen.
die angelegten Dateien heißen zwar .bas, sind aber normale Textdateien, die du mit jedem Editor öffnen kannst (bei Userformen gibt immer zwei Dateien, eine mit dem Makrotext und eine mit den Grafik-Daten)
Gruß, Daniel
Anzeige
AW: kompletten VBA-Code sichern in txt-Datei
11.05.2010 08:39:17
Maxer
Vielen Dank ihr beide. Das hat mir sehr weiter geholfen.
@hajo
Ich habe den Code ausprobiert und er funktioniert tadellos. Nur ich verstehe nicht genau was da passiert. Kannst du mir das ein wenig erklären Hajo? Die Fragen kommen u. a. bei was macht der Befehl .countoflines? Welche Zeilen werden gezählt? Was macht ProcofLine? Für was war die Stringvariable sMacro gedacht wenn sie garnicht im Code auftaucht?
Oder kannst du mir eine Stelle im Internet sagen, wo ich die Antworten auf die Fragen bekomme?
Gruß Ron
AW: kompletten VBA-Code sichern in txt-Datei
11.05.2010 10:52:18
Hajo_Zi
Hallo Ron,
den Code habe ich nicht selber erstellt, das Stand auch im Code. Die Variable kannst Du dann löschen.
Gruß Hajo
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige