Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UTF-8 code

Forumthread: UTF-8 code

UTF-8 code
07.11.2012 08:53:09
Pepi
Hallo zusammen, ich will eine Excel-Adressliste für einen Import in ein Siemens S685-Schnurlos-Telefon in eine *.vcf-Datei umwandeln. Mit dem nachfolgenden Makro funktioniert alles wunderbar, nur werden Umlaute (ä-ö-ü) nicht übernommen. Durch setzen des WEB-Codes auf UTF-8 klappt dies. Doch in diesem Makro wird die Datei mit dem Marko auf UTF-8 gesetzt und nicht die Exportdatei (sOut). Wollte dies mit Workbooks(sOut).Activate erreichen, doch funktioniert dieser Befehl in diesem Kontext nicht. Wer kann mir da weiterhelfen? - bin bestimmt ganz kurz vor dem Ziel.
Sub SU_Excel_to_Text()
Dim iFilNum As Integer, z As Long, sNam As String, sAdr As String, sTel As String, sOut As  _
String
iFilNum = FreeFile
Tab05.Activate
sOut = ThisWorkbook.Path & "\Testfile-" & Format(Now, "yymmdd-hhmm") & ".vcf"
Open sOut For Output As #iFilNum
For z = 1 To 20
sNam = Trim(Cells(z, 2) & " " & Cells(z, 3))
sAdr = Trim(Cells(z, 6) & " " & Cells(z, 7))
sTel = Cells(z, 9)
Print #iFilNum, Join(Array(sNam, sAdr, sTel), ";")
Next
Workbooks(sOut).Activate 'Fehler "Index ausserhalb des gültigen Bereichs"
With Application.DefaultWebOptions 'mit Makrorecorder aufgenommen
.RelyOnCSS = True
.OrganizeInFolder = True
.UseLongFileNames = True
.DownloadComponents = False
.RelyOnVML = False
.AllowPNG = True
.ScreenSize = msoScreenSize1024x768
.PixelsPerInch = 96
.Encoding = msoEncodingUTF8
End With
With Application.DefaultWebOptions
.SaveHiddenData = True
.LoadPictures = True
.UpdateLinksOnSave = True
.CheckIfOfficeIsHTMLEditor = True
.AlwaysSaveInDefaultEncoding = False
.SaveNewWebPagesAsWebArchives = True
End With
Workbooks(sOut).Save 'Fehler "Index ausserhalb des gültigen Bereichs"
Close #iFilNum
End Sub

vielen Dank
Pepi

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UTF-8 code
07.11.2012 10:06:45
bst
Hi,
was DefaultWebOptions angeht, keine Ahnung, ich habe hier nur xl2003.
Um die Ausgabe in sout zu ändern musst Du aber den Print-Befehl ändern, in etwa so:
Print #iFilNum, GetUTF8String(Join(Array(sNam, sAdr, sTel), ";") & vbNewLine);
Siehe hierzu:
http://www.excel-center.de/foren/read.php?2,51523,52235
https://www.herber.de/forum/archiv/812to816/812519_UTF8.html
http://www.office-loesung.de/ftopic231152_0_0_asc.php
cu, Bernd

Anzeige
AW: UTF-8 code
07.11.2012 12:38:00
Pepi
Hallo Bernd
Habe in einem deiner aufgeführten Links die Funktion GetUTF8String(sTxt As String) As String gefunden, die genau das macht, was ich vermisst habe - vielen Dank ond en schöne Tag
mfg
Papi

AW: UTF-8 code
07.11.2012 10:13:46
Rudi
Hallo,
mit Open sOut For Output As #iFilNum erstellst du eine Textdatei ohne sie wirklich zu öffnen.
Mit Print #iFilNum, Join(Array(sNam, sAdr, sTel), ";") schreibst du Werte in diese Datei.
Workbooks(sOut).Activate schlägt fehl, weil es dieses Workbook nicht gibt.
Ich würde ä, ö, ü in ae, oe, ue umwandeln.
Gruß
Rudi

Anzeige
AW: UTF-8 code
07.11.2012 10:58:55
Pepi
Hallo Ruedi
das habe ich bereits gemacht, ist aber nicht schön!
Als ich das Ganz mit cells(z,s).value = sAdr gemacht habe, funktionierte dieser Code. Dafür musste ich aber die Daten vom Excel in eine bestehende *.vcf Datei kopieren - auch ein Schönheitsfehler.
Kann mir nicht vorstellen, dass dieses Problem nicht lösbar ist.
Vielleich weiss sonst jemand was...
mfg
Pepi
Anzeige
;

Forumthreads zu verwandten Themen

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige