VBA Tipp: Long-Farbwert in HTML-Colorwert umwandeln

Aus DBWiki
Wechseln zu: Navigation, Suche

Anforderung

Ich möchte einen Access-Farbwert (Datentyp Long) als HTML-Colorwert darstellen.

Lösung

Das geht mit der folgenden Umwandlungsroutine:

Public Function FarbezuHTMLcolor(ByVal FarbWert As Long) As String
 
   'Wandelt einen Long-Farbwert in einen HTML-Farbwert um
   'Quelle: www.dbwiki.net oder www.dbwiki.de
 
   Dim buf As String
 
   buf = Right$("00000" & Hex$(FarbWert), 6)
   FarbezuHTMLcolor = "#" & Right$(buf, 2) & Mid$(buf, 3, 2) & Left$(buf, 2)
End Function

Aufruf

In diesem Beipiel wird eine HTML-Zeile mit rotem Text erzeugt:

Public Sub test()
   Dim htmlcolor As String
   Dim longfarbe As Long
 
   longfarbe = vbRed
   htmlcolor = FarbezuHTMLcolor(longfarbe)
 
   'Ergebnis im Direktfenster anzeigen
   Debug.Print htmlcolor
 
   'Erzeugt die Datei test.htm, die das Wort Testtext in roter Schrift enthält
   Open "test.htm" For Output As #1
   Print #1, "<body style=""font-family: Arial, Helvetica, sans-serif;"
   Print #1, " font-size: 10pt; color: " & htmlcolor & """>Testtext</body>"
   Close #1
End Sub

Wikilinks

Formular zur Umrechnung von Farbwerten in verschiedene Formate