Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
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
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makrocode updaten

Makrocode updaten
07.10.2005 00:34:10
volker
Hei Leute,
leider habe ich trotz Recherche keine Antwort gefunden, obwohl es einige ähnliche Anfragen gibt :-((
Deswegen: Ich aktualisiere derzeit ein (inzwischen schon) höchst komplexes Programm nahezu wöchentlich. Dazu stelle ich immer neue Versionen her.
Problem ist dabei, dass die im Prinzip mit ihrer Bereitstellung bereits veraltet ist, da ich ja weiter entwickle.
Ist es möglich, dass ich die in Benutzung befindlichen Versionen, bevor sie weiter verarbeitet werden, bezüglich ihres Makrocodes abgleiche und gegebenenfalls "update".
Mir schwebt da etwas vor wie
Verlgeiche alle Module und Userforms, sowie bestimmte Tabellenblätter mit der Masterversion und ersetze wenn es Unterschiede gibt die veralteten Elemente der Datei.
Gibt es einen einfachen Weg?
Danke mitten in der Nacht!
Volker

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrocode updaten
07.10.2005 08:16:24
Volker
Hallo Namensvetter,
so ganz kann ich dir nicht folgen. Ich nehme an, in den "veralteten" Versionen, die im Umlauf sind, sind bereits irgendwelche Daten, stimmts?
Da wär es doch am simpelsten, die Daten in deine Masterversion zu kopieren und die alte Datei wegzuschmeißen.
Wenn du häufig was änderst, solltest du die Änderungen kommentieren und mit irgendeiner Versionsnummer zu versehen. Dann brauchst du nicht mühsam nach Unterschieden zu suchen.
Dritte Möglichkeit wäre, gleich alle Module und UFs zu löschen und durch die neuen zu ersetzen.
Gruß
Volker
AW: Makrocode updaten
07.10.2005 09:24:39
volker
Hei Volker,
Dank für die frühe ANtwort (8:16h) :-)
genau letzteres würde ich gerne tun. Also per Makro alle Module, Userformen und die bestimmten Tabellen löschen und dann aus der Masterversion einpflegen.
Doch wie kann ich dieses per MAkrocode tun?
Volker
Anzeige
AW: Makrocode updaten
07.10.2005 11:00:32
Volker
Hallo Volker
das hab ich im Archiv gefunden:
https://www.herber.de/forum/archiv/456to460/t458337.htm
Zufälligerweise heißt der auch Volker, oder ist das sogar ein alter Beitrag von dir?
Jedenfalls ist das schon mal ein Ansatz. Ich hab auch mal mit sowas experimentiert, aber wie in dem Beitrag erwähnt, ist das ne ziemliche Fummelei.
Hier ist ein Code zum Importieren und Exportieren von VBA-Objekte, den ich mal irgendwo ergattert hab:

Sub export()
For i = 1 To Application.VBE.ActiveVBProject.VBComponents().Count
object_name = Application.VBE.ActiveVBProject.VBComponents(i).Name 'nur zum Test
Application.VBE.ActiveVBProject.VBComponents(i).export ("C:\Export" & i)
Next
End Sub


Sub import()
Dim i As Integer
i = 1   '1 = "Diese Arbeitsmappe"
While 1
On Error GoTo ende
Application.VBE.ActiveVBProject.VBComponents.import "C:\Export" & i )
i = i + 1
Wend
ende:
End Sub

Das exportiert alle Objekte, auch die Mappe selbst. Da du die Mappe und die Tabellen ja nicht brauchst, mußt du theoretisch bei i=2 + sheets.count anfangen. Dummerweise sind die Objekte in der Reihenfolge ihrer Entstehung numeriert. Wenn du also eine UF erzeugst und danach ein neues Blatt einfügst, hat das Blatt einen höheren Index als die UF.
Das mußt du also irgenwie abfangen.
Ich hab das grad getestet und festgestellt, das die Objekte Export1-ExportN unter ihrem eigentlichen Namen importiert werden. Wenn das Objekt schon existiert, wird der Import durchnumeriert. Bei UF geht gar nichts. Sieht also so aus, als ob du den ganzen Kram in der Zielmappe so oder so erst löschen mußt.
Irgendwas in der Art
for i=5 to Application.VBE.ActiveVBProject.VBComponents(i).count
Application.VBE.ActiveVBProject.VBComponents(i).delete
next
So, ich habe fertig
Gruß
Volker
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige