HTML-Codes in Sonderzeichen umwandeln

bertlfog

Grünschnabel
Hi!

Ich hab das Problem, dass ich einen Text hab, bei dem Sonderzeichen durch HTML-Code dargestellt ist (also zB. "ä" für ein "ä"). Kennt jemand eine gute Möglichkeit in VBA solch einen Text zu "bereinigen", indem diese HTML-Codes in Sonderzeichen verwandelt werden?

In die andere Richtung hätte ich ja eine Menge gefunden, aber so?

Besten Dank mal für eure Ideen

LG
 
Ab VB6 gab es die Replace Funktion. Leider ist die soweit ich weiß in VBA nicht mit drin... Du kannst es aber trotzdem mal versuchen:

Deine_Text_var = Replace(Deine_Text_var,"ä","ä")

Wenn das wie zu erwarten nicht t, mußt Du die Replace Funktion selbst schreiben.... müßte so hinhauen (Wobei hier sString Dein Text ist und sFind z.B.: "ä" und sReplace : "ä") :



Public Function Replace(sString As Variant _
, sFind As String _
, sReplace As String _
, Optional iCompare As Long = vbBinaryCompare)
_ As Variant

Dim iStart As Integer, iLength As Integer
If IsNull(sString) Then
Replace = Null
Else
iStart = InStr(1, sString, sFind, iCompare)
Do While iStart > 0
sString = Left(sString, iStart - 1) _
& sReplace & Mid(sString, iStart + Len(sFind), Len(sString) - iStart - Len(sFind) + 1)
iStart = InStr(iStart, sString, sFind)
Loop
Replace = sString
End If

End Function


Gute Nacht...
 
Danke für die Antwort! Die Replace-Funktion gibts in VBA, verwende sie auch öfters.

Dass ich mir diese Ersetzungen mit der Replace-Funktion selber schreiben kann war mir auch klar, nur gibts ja nicht nur 3 oder 4 solcher HTML-Codes sondern einen ganzen Haufen (keine Ahnung wieviel wirklich). Und die können alle theoretisch in meinem Text vorkommen. Deswegen war meine Frage eher so gemeint:

Existiert irgendwo schon so eine Funktion, die alle HTML-Codes in Sonderzeichen umwandelt?

LG
 
Danke für die Antwort! Die Replace-Funktion gibts in VBA, verwende sie auch öfters.

Dass ich mir diese Ersetzungen mit der Replace-Funktion selber schreiben kann war mir auch klar, nur gibts ja nicht nur 3 oder 4 solcher HTML-Codes sondern einen ganzen Haufen (keine Ahnung wieviel wirklich). Und die können alle theoretisch in meinem Text vorkommen. Deswegen war meine Frage eher so gemeint:

Existiert irgendwo schon so eine Funktion, die alle HTML-Codes in Sonderzeichen umwandelt?

LG

Benutz doch einfach folgende Tabelle:
http://www.tabelle.info/html_code_sonderzeichen.html

EDIT: Zusatz: Ich glaube das richtige Tool für sowas wäre dann die "Dictionary"-Klasse
http://vb.mvps.org/hardweb/mckinney2b.htm#1
 
Zuletzt bearbeitet:
Ok, Danke.

Ich hatte gehofft, dass jemand schon mal das gleiche Problem hatte und das ganze schon ausprogrammiert hat. Naja, dann muss ichs halt selber machen.

Danke und LG
 
Ok, Danke.

Ich hatte gehofft, dass jemand schon mal das gleiche Problem hatte und das ganze schon ausprogrammiert hat. Naja, dann muss ichs halt selber machen.

Danke und LG

Also ganz aus dem Bauch heraus und ohn Test:

Bei Programmstart eine Schleife, welches das Dictionary aufbaut, mit Key=HTML-Code, und Item=Sonderzeichen
Visual Basic:
Dim SZeichen as New Dictionary

'Schleife zum auffüllen

For i=1 To AnzahlSonderzeichen

   SZeichen.Add Tabelle(SpalteHTMLCode,i), Tabelle(SpalteSonderzeichen,i)

Next

Später im Code dann eine Schleife in etwa wie diese hier:

Visual Basic:
Dim Sonderzeichen as Variant

For Each Sonderzeichen in SZeichen

    myHTMLText=Replace(myHTMLText, Sonderzeichen, SZeichen.Item(Sonderzeichen))

Next
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück