Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA per VBA nach HTML exportieren

VBA per VBA nach HTML exportieren
15.03.2004 10:21:01
Russi
Hallo Leute!
Ich weiß, es gibt spezielle Tools, mit denen sich VBA-Module farblich markieren und in HTML exportieren lassen. Diese Tools haben nur einen Nachteil: Sie müssen auf dem jeweiligen PC installiert sein, damit sie genutzt werden können.
Da in Excel meiner Erfahrung nach nichts zu verrückt ist, als dass es noch niemand versucht hätte:
Hat jemand von Euch so etwas schon einmal in Form eines Makros oder AddIns erstellt? Und wenn ja, würde er/sie mir dies zur Verfügung stellen?
Auch für einen Link zum Thema wäre ich sehr dankbar! (habe nämlich nichts gefunden)
Viele Grüße
Russi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA per VBA nach HTML exportieren
15.03.2004 11:44:12
Thorsten
Hi Russi
Ein Suchbegriff (VBA-Code), der erste Klick = Treffer
...wer selber sucht, muss nicht finden lassen... ;-)
Hier ist der gefundene VBA-Code
https://www.herber.de/mailing/221004h.htm
Und hier der von mir modifizierte


Sub getcode()
    Dim sCode As String
    
    With ThisWorkbook.VBProject.VBComponents("Modul1").CodeModule
        sCode = .Lines(1, .CountOfLines) & vbLf & vbLf & "Aktualisierung: " & Now
    End With
    
    sCode = Replace(sCode, vbCr, "")
    
    Open "c:\CodeInHTML.html" For Output As #1
        Print #1, "<!DOCTYPE HTML PUBLIC " & Chr(34) & "-//W3C//DTD HTML 4.0 Transitional//EN" & Chr(34) & ">"
        Print #1, "<html>"
        Print #1, "<head>"
        Print #1, "<title>VBA-Code in HTML</title>"
        Print #1, "</head>"
        Print #1, "<body>"
        Print #1, "<pre>" & sCode & "</pre>"
        Print #1, "</body>"
        Print #1, "</html>"
    Close
    Shell "C:\Programme\Internet Explorer\iexplore c:\codeinhtml.html"
    
    ' x
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Voraussetzung:
1. In jedem Excel muss dieses eingestellt sein:
EXTRAS/MAKRO/SICHERHEIT/Vertrauenswürdige Quellen/Haken vor Zugriff auf Visual Basic Projekt verrtauen
(wenn es diese Funktion in XL 8.0 nicht gibt, dann wird dieses Bsp wohl leider nicht funktionieren)
2. Die "Shell-Zeile" musst Du vielleicht anpassen, und den Pfad zum IE korrigieren
Erklärung:
Beginnend in der Zeile "With ThisWorkbook..." wird der vollständige VBA-Code in die Variable sCode eingelesen
In der "Replace"-Zeile werden Zeilenumbrüche eingefügt, damit der Code nicht in einer Zeile steht
Zwischen den Zeilen "Open" und "Close" wird die Datei "C:\CodeInHTML.html" geöffnet, und der notwendige HTML-Code eingefügt, damit diese Datei auch korrekt im IE angezeigt wird.
In der Zeile "pre & sCode & pre" wird der Inhalt von sCode eingefügt.
Die "Shell"-Zeile öffnet den IE mit der eben erstellten HTML-Datei.
Die Zeile "' x" verhindert einen Fehler, den ich leider nicht beseitigen konnte :-)
Wenn diese Zeile nicht vorhanden ist, wird im IE nur ein Teil des Codes angezeigt, obwohl der ganze Code gespeichert ist.
Ich vermute, das hängt damit zusammen, dass im HTML-Code HTML-Code angezeigt werden soll (die pre -Zeile)
Aber der IE versteht das wohl als Steuerzeichen, und zeigt deshalb nicht alles an.
Sobald aber nur reiner VBA-Code in der HTML-Datei gespeichert werden soll, wird dieses Prob wohl nicht mehr auftreten...vermute ich :-)
(auch hier macht das PRE Schwierigkeiten, es lässt sicht nicht mit eckigen Klammern anzeigen)
So, ich hoffe, dass ich helfen konnte...Feedback wäre auch bei Erfolg nicht schlecht :-)
Ciao
Thorsten
Anzeige
AW: VBA per VBA nach HTML exportieren
15.03.2004 12:03:36
Russi
Hi Thorsten!
Der Code sieht wirklich gut aus, vielen Dank! Die nötigen Modifizierungen kriege ich selbst hin.
Scheinbar habe ich bei google die falschen Suchbegriffe benutzt, so dass ich immer zu benannten Tools gekommen bin aber nicht zu dem, das ich eigentlich wollte. Richtig suchen will halt gelernt sein ;-)
Da Du diesen Code jetzt selber modifiziert hast nehme ich mal an, dass keine "vorgefertigte" Lösung existiert, die in der HTM-Datei die Schlüsselwörter des eingefügten VBA-Modules wie in der VBE farblich markiert?!?
Ich weiß, dies würde das Makro unheimlich aufblähen und ist eine sch*-Arbeit. Und bitte versteh mich nicht falsch: Ich erwarte keinesfalls, dass sich jemand extra diese Arbeit für mich macht! Aber sollte so etwas bereits existieren, wäre ich daran sehr interessiert.
Wie auch immer: Ich werde Deinen Code auf jeden Fall benutzen, er hilft mir unheimlich weiter. Also nochmal vielen Dank für Deine Mühe!!!
Viele Grüße
Russi
Anzeige
AW: VBA per VBA nach HTML exportieren
15.03.2004 12:22:59
Thorsten
Hi Russi
Ja, Du hast wohl Recht. Das mit der farbl. Markierung wäre wirklich eine sch** Arbeit :-)
Denn Du müsstest entweder...
...alle Schlüsselwörter in einem Array bereitstellen

Sub ArrayFuellen()
Dim Array(500) '500 is nur Bsp, ich kenne nicht die Anzahl aller Schlüsselwörter
Array(0) = "Sub"
Array(1) = "Print"
Array(2) = "End"
Array(500) = "Call"
End Sub

oder
...alle Schlüsselwörter in einer extra Datei speichern
Dann müsstest Du den VBA-Code nach JEDEM Wort durchsuchen, wobei ja das Prob ist, VBA kennt keine "Wörter" sondern nur Zeichen. D. h., Du musst nach den Worttrennern, i.d.R. Leerzeichen suchen, und das, was dazwischen ist, als Wort "markieren".
Da kommt so einiges auf Dich zu, wenn ich denn Recht habe :-)
Es kann ja sein, dass alles nicht soo schwierig ist, aber ich nur (noch) nicht weiß, dass es einfacher geht, als ich gerad beschrieb :-)
Leider ist mir nicht bekannt, ob so etwas schon existiert. Aber vielleicht weiß ja jemand anderes mehr.
Ciao
Thorsten
Anzeige
AW: VBA per VBA nach HTML exportieren
15.03.2004 12:36:08
Russi
Hee hee...allein der erste Gedanke ("Wie viele Schlüsselwörter hat VBA eigentlich?!?") ist abschreckend. ;-)
Vielleicht setze ich mich mal ran, wenn ich gaaaanz viel Zeit habe.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige