Anzeige
Archiv - Navigation
1548to1552
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

Zellinhalt auf UTF-8 prüfen/wandeln bevor #Print

Zellinhalt auf UTF-8 prüfen/wandeln bevor #Print
24.03.2017 18:02:39
Siegfried
Hallo @alle!
Ich erstelle mit dem Macro eine Datei im KML – Format.
Diese sollte dann in ein FALK – Navi z.B. importiert werden.
Geht ohne Probleme solange nicht Sonderzeichen (Gerade Orts od. Straßennamen aus Ländern des Sü _
den, Osten od. Norden dabei sind) einwandfrei.

xmlns:gx="http://www.google.com/kml/ext/2.2"
xmlns:kml="http://www.opengis.net/kml/2.2"
xmlns:atom="http://www.w3.org/2005/Atom">

CP_XxxxXxxx17

AL-Lezh鬐
4501 Lezh骠
Rruga Lezh鬓hꭧjin

+355 692419834
19.627777,41.785833,0


AL-Berat / Poshnje
5001 Berat / Poshnje,
Rruga e Pashallis

+355 694263697
19.858611,40.778888,0


AL-Pogradec / Drilon
7301-7303 Pogradec / Drilon,
SH 64

20.709444,40.901388,0


AL-Radhime
9426 Radhime,
Nacional Road Vlore-Orikum km 7

19.478333,40.376944,0



Wenn es nicht geht, öffne ich diese KML-Datei mit GoogleEarth und speichere sie damit nieder, hier erfolgt eine Wandlung aller umstrittenen Wörter in das UTF-8 Format.
Mit dieser nun gewandelten Datei funktioniert anschließend auch der Import in das FALK-Navi problemlos.
Suche nun schon seit Tagen sowohl hier im Forum als auch im Internet nach einer brauchbaren Lösung, bin aber leider noch immer nicht fündig geworden bzw. konnte gefundenes nicht so umsetzten das es auch funktioniert.
Da ja eine solche KML-Datei in einer bestimmten Struktur erstellt sein muss mit Namen und Bezeichnungen welche mit UTF-8 nichts zu tun haben, und erforderliche Wandlungen auf UTF-8 daher nur auf Inhalte aus den ausgelesenen Cells kommen können.
Daher müsste doch der einfachste Weg, den Inhalt einer Variable z.B. (A12) welche den Inhalt einer Zelle zugeordnet bekommt dieser UTF-8 Prüfung und wenn erforderlich Umwandlung zu unterziehen und den neuen Wert an (A12) wieder zu übergeben, sein.
Wer kann mir bitte hier weiter helfen?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt auf UTF-8 prüfen/wandeln bevor #Print
25.03.2017 09:14:28
NoBody
Hi,
wenn man eine Text-Datei mit "workbooks.OpenText" öffnet, kann die die Kodierung auswählen. Versuche es einmal mit dem Rekorder.
mfg
AW: Zellinhalt auf UTF-8 prüfen/wandeln bevor #Print
25.03.2017 19:52:24
Siegfried
Hi NoBody!
Habe schon mehrmals den Hinweis auf einen Rekorder gelesen, kenne ich aber leider nicht und weis auch nicht wie und wo zu finden und zu bedienen.
Für mein angefragtes Problem „Zellinhalt auf UTF-8 prüfen/wandeln bevor #Print“ konnte ich inzwischen bereits eine Lösung finden und zwar habe ich meine erzeugte KML-Struktur, wird ja für jeden Datensatz extra erstellt, in eine Variable gelegt und mit dieser rufe ich die Funktion "GetUTF8String" auf.
Meine momentane Lösung sieht also so aus, gefunden im Beitrag von „bst“ vom 20.10.2006:

OneLine = Chr(9) + "" + vbCrLf + _
Chr(9) + Chr(9) + "" + A13 + A00 + "" + vbCrLf + _
Chr(9) + Chr(9) + "
" + _ IIf(Len(A04) > 0, A004, "") + _ IIf(Len(A05) > 0, A005 + "
" + vbCrLf, "") + _ IIf(Len(A07) > 0, Chr(9) + Chr(9) + A007 + vbCrLf, "") + _ Chr(9) + Chr(9) + "" + _ "" + Trim(StrX_Long) + "," + Trim(StrY_Lati) + ",0" + " _ " + _ "" + vbCrLf + _ Chr(9) + "
" Print #1, GetUTF8String(OneLine)

mit welcher dann die Korrektur auf UTF-8 durchführt wird.

' frei nach http://www. _
vovisoft.com/unicode/UniFunctions.htm#ToUTF8
Public Function GetUTF8String(s As String) As String
Dim i As Integer ' Zähler über die einzelnen Zeichen des utf16-Strings
Dim utf16 As Long, uc(2) As Byte
GetUTF8String = ""
For i = 1 To Len(s)
utf16 = AscW(Mid(s, i, 1))
If utf16 
Anschließend wird dieser Datensatz sofort über „Print #1“ in den bereits vorher angelegen KML-File weggeschrieben.
Nun erfolgt das gleiche Spiel mit dem nächsten Datensatz bis eben alle durch sind.
Hätte nicht gedacht, das diese Prüfung der gesamten Variable(OnLine) so schnell vor sich geht da er ja jeden Buchstaben prüfen muss.
Bin aber noch immer der Meinung, da ja nicht in allen Zellen Werte stehen (z.B. PLZ, TelNr., Faxnr.,WEB, Email usw.) die einer UTF-8 Wandlung zugeführt werden müssen, dass eine Prüfung der Variable nach auslesen aus der Zelle einfacher und schneller sein könnte.
Nur den Weg dazu finde ich leider nicht das nach Prüfung in der Funktion „GetUTF8String“ der dabei entstandene Wert an die Ursprungsvariable zurück gegeben wird.
Gruß Siegfried
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige