Registriert seit: 08.11.2018
Version(en): 2007
Hola los Todos! Ich nutze ein Tool um Werte aus Excel gegen Werte in html Dateien auszutauschen: https://www.clever-excel-forum.de/Thread...en-matchenFunktioniert auch super, solange man nicht Sprachen mit Sonderzeichen (Spanisch) oder gleich ganz andere Buchstaben wie bei Griechisch oder Bulgarisch nutzt. Wenn ich das Ganze händisch austausche, funktioniert es wunderbar, ist also kein Problem des Browsers oder von html. Ich habe es auch schon mit Sprachumstellung probiert, leider erfolglos. Sogar spanische Texte auf einer reinen spanischen Excelversion bzw. Officeversion werden nicht sauber übertragen. Ich habe es mit Einschließen von Tags probiert wie aber auch nicht erfolgreich. Danke und Gruss Peter
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
öffnest Du die html mit einem Texteditor und tauschst dann die Zeichen aus - die sind also in den html-Dateien korrekt enthalten? Eventuell kannst Du mal eine html posten.
Falls nicht, wie kommst Du denn zu den html-Dateien? Wenn Du hier selber irgendwelche Quelltexte irgendwoher beziehst, könnte es auch sein, dass z.B. die Codierung nicht passt - 128 bit enthält z.B. ein paar Zeichen weniger als 256 bit und die höherwertigen werden irgendwohin reduziert, z.B. auf 63 oder andere …
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 08.11.2018
Version(en): 2007
Hi! Die Dateien sind alle als datei.html gespeichert. Anbei ein auf das Problem reduzierter Code: Code: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> </head>
<style> body { background: #0a69b7; color: #ffffff; } p, h3 { text-align: center; } </style>
<body>
<div class="w3-container w3-center"> <h1>X-TEXT-X</h1> </div>
</body> </html>
Ich möchte mit Deinem Tool X-TEXT-X ersetzen. Das passiert dann je nach Sprache: IKT-Techniker/IKT-Technikerin (deutsch) geht ohne Probleme Börsenhändler/Börsenhändlerin (deutsch) geht nicht fehlerfrei, weil Zeichen "ö" und "ä" nicht erkannt werden) = B�rsenh�ndler/B�rsenh�ndlerin ICT technician (englisch) geht auch ohne Probleme técnico de TIC/técnica de TIC (spanisch) geht nicht fehlerfrei, weil Zeichen "é" nicht erkannt wird) = t�cnico de TIC/t�cnica de TIC technik ICT/technička ICT (tschechisch) geht nicht fehlerfrei, weil Zeichen "č" nicht erkannt wird) bzw. es wird ein "deutsches" c daraus = technik ICT/technicka ICT τεχνικός πληροφοριακών συστημάτων/δικτύων (griechisch) geht gar nicht weil nix erkannt wird) = te?????? p????f???a??? s?st?�?t??/d??t??? Ich habe X-Text-X auch schon so formatiert, jedoch auch mit dem Ergebnis s.o. Code: <p><span lang="de">X-TEXT-X</span></p> <p><span lang="es">X-TEXT-X</span></p> <p><span lang="cs">X-TEXT-X</span></p> <p><span lang="el">X-TEXT-X</span></p>
<li lang="de">X-TEXT-X</li> <li lang="es">X-TEXT-X</li> <li lang="cs">X-TEXT-X</li> <li lang="el">X-TEXT-X</li>
Danke und Gruss Peter
Registriert seit: 29.09.2015
Version(en): 2030,5
28.09.2019, 14:08
(Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2019, 14:08 von snb.)
Code: Sub M_snb_UTF8_ADODB() c00 = Join(Array("<!DOCTYPE html>", "<html>", "<head>", "<meta charset=""UTF-8"">", "<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">", "<link rel=""stylesheet"" href=""https://www.w3schools.com/w3css/4/w3.css"">", "</head>", "<body>", "<div class=""w3-container w3-center"">", "<h1>üéâäàå</h1>", "</div>", "</body>", "</html>"), vbCrLf)
With CreateObject("ADODB.Stream") .Type = 2 .Charset = "utf-8" .Open .writetext c00
.SaveToFile "G:\OF\__UTF8_ADODB.html", 2 .Close End With End Sub
Alternativ: Code: Sub M_snb_UTF8_ADODB() c00 = Join(Array("<!DOCTYPE html>", "<html>", "<head>", "<meta charset=""UTF-8"">", "<meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">", "<link rel=""stylesheet"" href=""https://www.w3schools.com/w3css/4/w3.css"">", "</head>", "<body>", "<div class=""w3-container w3-center"">", "<h1>üéâäàå</h1>", "</div>", "</body>", "</html>"), vbCrLf)
CreateObject("Scripting.FileSystemObject").CreateTextFile("G:\OF\__UNICOde_FSO.html", , True).write c00 End Sub
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• PeterN
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, snb's Ansatz in das Projekt eingearbeitet könnte so aussehen: Code: Option Explicit
Sub Ersetzen1() 'Variablendeklarationen Dim iCnt%, arrDaten Dim strMsg1$, strMsg2$ 'Schleife ueber alle Zeilen For iCnt = 1 To Cells(Rows.Count, 1).End(xlUp).Row 'Daten aufnehmen arrDaten = Cells(iCnt, 1).Resize(1, 4) 'File einlesen strMsg1 = FileReadUTF_8(arrDaten(1, 1)) 'Daten ersetzen strMsg2 = Replace(strMsg1, arrDaten(1, 3), arrDaten(1, 4)) 'Datei schreiben FileWriteUTF_8 arrDaten(1, 1), strMsg2 'Ende Schleife ueber alle Zeilen Next 'FertigMeldung ausgeben MsgBox "Fertig!" End Sub
Public Function FileReadUTF_8(ByVal strFile As String) As String 'Wenn die Datei nicht existiert, dann Funktion verlassen If Dir$(strFile, vbNormal) = "" Then Exit Function 'Datei komplett einlesen With CreateObject("ADODB.Stream") .Type = 2 .Charset = "UTF-8" .Open .LoadFromFile strFile FileReadUTF_8 = .ReadText .Close 'Ende Datei komplett einlesen End With End Function
Public Sub FileWriteUTF_8(ByVal strFile As String, ByVal strTxt As String) 'Datei Inhalt ?berschreiben With CreateObject("ADODB.Stream") .Type = 2 .Charset = "utf-8" .Open .writetext strTxt .SaveToFile strFile, 2 .Close 'Ende Datei Inhalt ?berschreiben End With End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• PeterN
Registriert seit: 08.11.2018
Version(en): 2007
Super! Perfekt! Klasse!
Ihr beiden seid die Geilsten!
Funktioniert sogar mit Arabisch, Chinesisch und Maltekisch.
Danke und Gruss
Peter
|