Manchmal ist es einfacher als man glaubt. So ging es mir auch mit dem Versuch, VBA-Code (wenigstens halbautomatisch) aus der jeweiligen Wirts-Applikation heraus in Textdateien zu schreiben, um diese dann ordentlich in die Quellcodeverwaltung zu bringen. In MS Access ist das ja inzwischen recht einfach, denn dort gibt es OASIS und Ivercy. Aber was tun wir in den anderen Office-Applikationen?
Im Grunde ist es ganz einfach. Doch leider habe ich noch keine Möglichkeit gefunden, es mit identischem Code in allen Office-Applikationen zu machen. Daher sehe ich vorläufig nur die Option, den Code pro Applikation in geringfügig veränderter Weise bereitzustellen:
Für Word und Visio:
Set activedoc = Application.ActiveDocument
Für Excel:
Set activedoc = Application.ActiveWorkbook
Für Powerpoint:
Set activedoc = Application.ActivePresentation
Und dann gemeinsam weiter:
For Each VBComp In activedoc.VBProject.VBComponents
ExportFile = path + VBComp.Name + ".bas"
VBComp.export ExportFile
Next VBComp
Den vollständigen Code findet ihr in meinem GitLab-Repository https://gitlab.com/juengling/office-imexport
Wenn jemand eine Idee hat, wie das ohne (oder mit automatischer) Differenzierung der Applikationen geht, freue ich mich über entsprechende Hinweise.
2 Kommentare
Danke vielmals, das klingt tatsächlich nach genau dem richtigen! Ich werde es mir mal anschauen.
Sollte nicht Rubberduck (https://rubberduckvba.com/) sein, was du suchst?