Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1592to1596
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
Inhaltsverzeichnis

Umwandlung von Zeichen ins WEB-Format

Umwandlung von Zeichen ins WEB-Format
29.11.2017 09:13:09
Zeichen
Hallo Werte Forumsmitglieder!
Habe derzeit Daten in welchen sich Zeichen befinden die bei einem Export in ein KML-Format in diesem nur Probleme machen und daher die erzeugte KML nicht laufen lassen.
Was ich bis jetzt feststellen konnte handelt es sich dabei um Namen aus den Nördlichen und Slawischen Länderbereichen die, wie z.B. Ď, ĭ, Š, Ť, Ž, ř also das auf den Kopf gestellte ˇ Zeichen haben.
Wie wäre es möglich diese Zeichen, entweder durch den neutralen gleichen Buchstaben, oder eben ins Webformat zu ersetzen. Mir fehlt dazu leider der Plan
MfG Siegfried

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

Betreff
Datum
Anwender
Anzeige
AW: Umwandlung von Zeichen ins WEB-Format
29.11.2017 10:11:10
Zeichen
Hallo Siegfried,
die folgende Funktion habe ich mal gebastelt, um in automatisch generierten Dateinamen Zeichen umzuwandeln, die in Dateinamen verboten sind. Für Deinen Zweck musst Du nur Deine Zeichen und die Ersetzungscodes statt der vorhandenen Zeichen einsetzen. Die Liste lässt sich ja beliebig erweitern oder kürzen.
Damit die Forensoftware die zu einzusetzenden Zeichenketten nicht als Zeichen darstellt, das ersetzt werden soll, habe ich hinter das & jeweil ein Freizeichen eingefügt.

Function StringSpeicherKonform(Zeichenkette As String) As String
Dim ZeichenZuPruefen As String
Dim ZeichenketteSpeicherkonform As String
Dim i As Long
ZeichenketteSpeicherkonform = ""
For i = 1 To Len(Zeichenkette)
ZeichenZuPruefen = Mid(Zeichenkette, i, 1)
Select Case ZeichenZuPruefen
Case "\":  ZeichenZuPruefen = "& #92;"
Case "/":  ZeichenZuPruefen = "& #47;"
Case ":":  ZeichenZuPruefen = "& #58;"
Case "*":  ZeichenZuPruefen = "& #42;"
Case "?":  ZeichenZuPruefen = "& #63;"
Case """":  ZeichenZuPruefen = "& #34;"
Case "":  ZeichenZuPruefen = "& #62;"
Case "|":  ZeichenZuPruefen = "& #124;"
End Select
ZeichenketteSpeicherkonform = ZeichenketteSpeicherkonform & ZeichenZuPruefen
Next i
StringSpeicherKonform = ZeichenketteSpeicherkonform
End Function

Viele Grüße,
Zwenn
Anzeige
AW: Umwandlung von Zeichen ins WEB-Format
29.11.2017 11:28:15
Zeichen
Hallo Siegfried,
sorry, habe nicht berücksichtigt, dass Deine Zeichencodierung sich nicht in den VBA Editor eingeben lässt, weil der nur ANSI Codierung schluckt.
Ich habe geschaut, wie man es lösen könnte und bin auf folgenden Link gestoßen. Den Workarround habe ich aber leider auf die Schnelle nicht zum Laufen gebracht. Vielleicht liegen Deine Daten nicht in UTF-8, sondern einer anderen Codierung vor?
https://stackoverflow.com/questions/7269399/declaring-a-unicode-string-in-vba-in-excel
Hier gibt es Leute, die sich mit Umcodierungen mit Sicherheit besser auskennen als ich. Vielleicht hat jemand eine Idee.
Viele Grüße,
Zwenn
Anzeige
AW: Umwandlung von Zeichen ins WEB-Format
30.11.2017 00:35:54
Zeichen
Hallo Zwenn,
dein erster Beitrag hat mir, mal für meinen Bedarf angepasst, über die ersten Probleme geholfen.
Einige Zeichen blieben mir leider über, sie zu entschlüsseln welche sie eigentlich im Original waren, hatte die KML-Datei mit Excel eingelesen und da dürften einige Zeichen verloren gegangen bzw. falsch eingestuft worden sein.
Hier ein Beispiel wie es in Excel lautete
Im Original der Homepage aber lauten sollte.
Stare Jabłonki-Kątno
Habe mir also deine FUNC so angepasst
  • 
    Function StringWEBKonform(Zeichenkette As String) As String
    Dim ZeichenZuPruefen As String
    Dim ZeichenketteWEBkonform As String
    Dim i As Long
    ZeichenketteWEBkonform = ""
    For i = 1 To Len(Zeichenkette)
    ZeichenZuPruefen = Mid(Zeichenkette, i, 1)
    Select Case ZeichenZuPruefen
    Case "&":  ZeichenZuPruefen = "&"
    Case Chr(34): ZeichenZuPruefen = """
    Case ">": ZeichenZuPruefen = ">"
    Case "": ZeichenZuPruefen = "<>"
    Case "á": ZeichenZuPruefen = "á"
    Case "ý": ZeichenZuPruefen = "ý"
    Case "í": ZeichenZuPruefen = "í"
    Case "š": ZeichenZuPruefen = "š"
    Case "—": ZeichenZuPruefen = "&8211;"
    Case "vbCrLf": ZeichenZuPruefen = ""
    Case "vbLf": ZeichenZuPruefen = ""
    Case "L‚": ZeichenZuPruefen = "l"
    Case "ą": ZeichenZuPruefen = "a"
    End Select
    ZeichenketteWEBkonform = ZeichenketteWEBkonform & ZeichenZuPruefen
    Next i
    StringWEBKonform = ZeichenketteWEBkonform
    End Function
    

  • Konnte aber leider bis jetzt keine Vorlage finden die auch andere Problemzeichen, die ja auftreten können in WEB-taugliche umwandeln.
    Vielleicht hat da noch wer einen brauchbaren Hinweis, jedenfalls mal ein DANKE an dich.
    Gruß Siegfried
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige