Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1508to1512
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

nach VBA bearbeitung Unicode verloren.

nach VBA bearbeitung Unicode verloren.
22.08.2016 21:39:24
rocketfox
Hallo ich habe ein VBA Script
und möchte eine externe Text Datei bearbeiten.
In diesem Beispiel die erste zeile ersetzen.
das Script funkioniert soweit auch.
https://www.herber.de/bbs/user/107781.txt
Anbei die Beispiel datei sie sollte in "Message_.txt" umbenannt werden
in dieser sind ca 100 Sonderzeichen.
nach Bearbeitung der Datei mit dem Script verliert die Datei aber das Unicode Format.
also die Frage: Gibt es eine Möglichkeit das zu verhindern?

Sub first_line()
Grundpfad = ActiveWorkbook.Path
Dim vntIn, strTmp As String
Dim zahler As Integer
vntIn = "Erste Zeile geändert"
Open Grundpfad & "\Message_" & ".txt" For Input As #1
Do While Not EOF(1)
Line Input #1, strTmp
n = n + 1
Select Case n
Case 1: vntIn = vntIn
Case Else: vntIn = vntIn & vbCrLf & strTmp
End Select
Loop
Close #1
Open Grundpfad & "\Message_" & ".txt" For Output As #1
Print #1, vntIn
Close #1
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UFT-8 (65001)
22.08.2016 22:24:12
Fennek
Hallo,
importiere die txt-Datei zuerst in ein xl-Arbeitsblatt mit der Option Zeichencode UFT-8 (65001). Dabei bleiben die Unicode-Zeichen erhalten.
mfg
AW: UFT-8 (65001)
22.08.2016 23:54:32
rocketfox
Hallo Fennek,
das Problem ist das ich als Ziel eine Text Datei benötige.
In meiner Orginal Text sind auch Anführungszeichen enthalten.
mit einem weiteren Im / export drehe ich mich also ich Kreis. Da die Anführungszeichen beim exportieren verdoppelt werden und ich diese wieder entfernen ( über ein Script.)
Die Lösung die ich also Suche ist die Datei als UFT-8 (65001) zu bearbeiten. das wäre Perfekt wenn irgendwie möglich.
gruß chris
Anzeige
nach VBA bearbeitung Unicode verloren.
23.08.2016 17:41:27
Anton
Hallo Chris,
so vielleicht:
Sub b()
Dim fso As Object, sInhalt As String, vInhalt, sDatei As String
Set fso = CreateObject("Scripting.FileSystemObject")
sDatei = "C:\Temp\utf.txt" 'Pfad anpassen
Set f = fso.OpenTextFile(sDatei, 1, True)
sInhalt = f.ReadAll
f.Close
vInhalt = Split(sInhalt, vbCrLf)
vInhalt(0) = "Erste Zeile ersetzt"
Set f = fso.OpenTextFile(sDatei, 2, True)
f.Write Join(vInhalt, vbCrLf)
f.Close
Set fso = Nothing
End Sub
mfg Anton
AW: nach VBA bearbeitung Unicode verloren.
23.08.2016 22:20:26
rocketfox
Hallo Anton Danke für die Mühe.
Bei mir wird die erste Zeile eingefügt aber der Rest der Datei ist dann gelöscht.
ich verstehe leider auch nur 20 % von dem was da im script passiert. und kann den Fehler da auch nicht finden. aber sehe ich das richtig das die Ganze Datei in ein String geladen wird?
meine Text datei ist nämlich sehr groß (ca 9000 Zeilen)
gruß chris
Anzeige
probier nochmal
24.08.2016 15:17:47
Anton
Hallo Chris,
Sub b()
Dim fso As Object, f As Object
Dim sInhalt As String, sDatei As String, vInhalt
Set fso = CreateObject("Scripting.FileSystemObject")
sDatei = "C:\Temp\107781.txt" 'Pfad anpassen
Set f = fso.OpenTextFile(sDatei, 1, True, -1)
sInhalt = f.ReadAll
f.Close
vInhalt = Split(sInhalt, vbCrLf)
vInhalt(0) = "Erste Zeile ersetzt"
Set f = fso.OpenTextFile(sDatei, 2, True, -1)
f.Write Join(vInhalt, vbCrLf)
f.Close
Set fso = Nothing
End Sub
mfg Anton
? oT
26.08.2016 15:30:09
Anton
AW: probier nochmal
27.08.2016 17:32:05
rocketfox
Hallo Anton ,
danke für den Support. Ich werde es probieren und rückmeldung geben.
vielen dank für die Hilfe.
gruß chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige