• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

schrijven speciale tekens gaat niet

Status
Niet open voor verdere reacties.

AnnevdD

Verenigingslid
Lid geworden
8 mei 2007
Berichten
250
Ik wil in een Excel macro een XML-file schrijven waarin ook speciale tekens (é, ü, ñ etc) voorkomen.
Dat zou moeten kunnen met UTF-8 maar bij mij gaat dat niet op. Zie bijgaande macro in UTF8test.xlsm en het resultaat bestand test.xml.
Beide in bijlage. Het bestand test.xml wordt hier niet geaccepteerd daarom heb ik het voor het uploaden testxml.txt genoemd.
Wat doe ik niet goed?
 

Bijlagen

Het xml bestandje dat je plaatste ziet er hier prima uit:
xml.JPG
 
ja, in de txt versie lijkt het goed.
Maar als je er weer een xml bestand van maakt door de extensie te veranderen, dan krijg je (bijvoorbeeld in Notepad ++) te zien dat de é niet goed wordt omgezet. (zie Knipsel.PNG)
Je krijgt dat ook te zien als je de macro uitvoert.
De XML parser gaat er ook op fout.
 
Voor gebruik in XML moet je die speciale tekens vervangen door de Unicode tegenhanger:
Code:
Sub schrijftest()
    Dim naam As String
    Q = """"
    naam = Vervangen("Daniëlle en Renée")
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set XML_File = FSO.CreateTextFile(ThisWorkbook.Path & "\test.xml", True) [COLOR="#008000"]'True om Unicode (UTF-8) te genereren[/COLOR]
    XML_File.WriteLine "<?xml version=" & Q & "1.0" & Q & " encoding=" & Q & "UTF-8" & Q & " standalone=" & Q & "yes" & Q & "?>"
    XML_File.WriteLine "<testinfo>"
    XML_File.WriteLine vbTab & "<Naamcode>" & naam & "</Naamcode>"
    XML_File.WriteLine "</testinfo>"
    XML_File.Close

End Sub
De functie met de naam Vervangen:
Vervangen.JPG

Als plaatje omdat anders de boel hier direct wordt vertaald.

De complete lijst kan je hier vinden:
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
 
Laatst bewerkt:
Hartelijk dank. Ik ga het zo doen.
Jammer dat het zo moet, maar fijn dat er een oplossing is.
 
Het leek mooi, maar ik krijg als resultaat:Knipsel2.PNG
Dat was toch niet de bedoeling. Mis ik misschien nog iets?
 
Dat is goed.
Open dat xml bestand maar eens in een browser.
 
Als ik jouw txt bestand open in kladblok en oplsa als .xml besrand met codering UTF-8 ben ik klaar.
 

Bijlagen

  • __bewijs_snb.PNG
    __bewijs_snb.PNG
    46,9 KB · Weergaven: 49
Laatst bewerkt:
De oplossing van edmoor werkt ook bij het inlezen van een XML bestand. Dit ga ik gebruiken.

Heel hartelijk dank!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan