Live-Forum - Die aktuellen Beiträge
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

unicode bei export und doppelzeichen verhindern

unicode bei export und doppelzeichen verhindern
30.08.2016 15:18:18
rocketfox
Hallo ich drehe mich mit Excel / VBA nun ewigkeiten im Kreis.
entweder das eine oder das andere scheint nicht zu funktionieren.
Mit dem nachfolgenden Script kann ich eine excel Seite in eine Text Datei exportieren.
In der Hochgeladenen Datei ist sie auch inkludiert.
https://www.herber.de/bbs/user/107904.xlsm
Und das klappt auch sogar mit meinem Wunsch dem Unicode format als Text datei sehr gut.
Leider werden damit Sonderzeichen wie [ " ] verdoppelt./ bzw verdreifacht.
Meine bisherige Idee war die Datei nachträglich zu ändern. Also nach ["""] zu suchen und mit " zu ersetzten leider verliere ich dadurch den unicode status.
Ich suche nun nach einer Lösung beim Export diese Zeichen nicht zu vermehren. hat jemand eine idee wie ich dieses Probelm unterbinden kann?.
gruß chris
Sub export()
Application.DisplayAlerts = False
Dim Grundpfad As String
Grundpfad = ActiveWorkbook.Path
Sheets("Sayfa1").Select
Sheets("Sayfa1").Copy
Filename = "\export.txt"
ActiveWorkbook.SaveAs Filename:=Grundpfad & Filename, FileFormat:=xlUnicodeText, CreateBackup:= _
False
ActiveWorkbook.Save
ActiveWorkbook.Close savechanges:=True 'popup bestätigung
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unicode bei export und doppelzeichen verhindern
30.08.2016 15:39:41
baschti007
Hey Ho So?
Gruß Basti

Sub export()
Dim r        As Long
Dim arr      As Variant
Dim file     As Variant
Dim makeFile As String
makeFile = ActiveWorkbook.Path & "\export.txt"  'Bitte Pfad anpassen
Set file = CreateObject("Scripting.FileSystemObject").CreateTextFile(makeFile, True, True)
With ActiveSheet
arr = .Range(.[A1], .UsedRange.Cells(.UsedRange.Cells.Count))
If Not IsArray(arr) Then
file.WriteLine arr
Else
For r = 1 To UBound(arr)
file.WriteLine Join(WorksheetFunction.Index(arr, r, 0), Chr(9))
Next
End If
End With
file.Close
End Sub

Anzeige
AW: unicode bei export und doppelzeichen verhindern
30.08.2016 17:15:24
rocketfox
hallo Basti das Script funktioniert perfekt
ich habe lange nach einer solchen lösung gesucht.
wenn du noch kannst würde ich mich über ein paar kommentare am script freuen damit ich auch etwas lerne.
vielen dank nochmal
gruß chris
AW: unicode bei export und doppelzeichen verhindern
30.08.2016 17:35:29
snb
Oder:
Sub M_snb()
Tabelle1.UsedRange.Copy
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.GetFromClipboard
CreateObject("scripting.filesystemobject").createtextfile("G:\OF\UTf8.txt").write .GetText
End With
End Sub

AW: unicode bei export und doppelzeichen verhindern
01.09.2016 17:22:53
rocketfox
danke für die Extreme kurzform
ich würde sie gern einmal ausprobieren.
wie kann ich bei
Sub M_snb()
Tabelle1.UsedRange.Copy
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.GetFromClipboard
CreateObject("scripting.filesystemobject").createtextfile("G:\OF\UTf8.txt").write .GetText
End With
End Sub
ein anderes Tabellenblatt exportieren?
wa verbirgt sich hinter ?

New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}
UTF codierung?
bei meinem worksheet sind ca 10000 Zeilen enthalten der andere code von "baschti007" funktioniert zwar anstandslos
die Schreibzeit bei 10000 Zeilen liegt bei leider ca. 7 Minuten
gruß chris
Anzeige
AW: unicode bei export und doppelzeichen verhindern
01.09.2016 17:45:11
Bastian
Hey Ho
Zu 1 Einfach : Tabelle1.UsedRange.Copy durch zB. Tabelle2.UsedRange.Copy oder Worksheets("Blattname").UsedRange.Copy
ersetzen
Zu 2 : das setzt den verweiß zu "Microsoft Forms DataObject"
würde ich sagen , damit du das clipboard benutzen kannst
Gruß Basti
AW: unicode bei export und doppelzeichen verhindern
31.08.2016 07:38:05
baschti007
Ich bin auch nicht so wirklich der Crack =D aber hier guck ma

Sub export()
Dim r        As Long
Dim arr      As Variant
Dim file     As Variant
Dim makeFile As String
makeFile = ActiveWorkbook.Path & "\export.txt"  ' Pfad
Set file = CreateObject("Scripting.FileSystemObject").CreateTextFile(makeFile, True, True) ' _
export.txt wird erstellt
With ActiveSheet
arr = .Range(.[A1], .UsedRange.Cells(.UsedRange.Cells.Count)) ' der Bereich der  _
Kopiert werden soll wird festgelegt
If Not IsArray(arr) Then ' wenn der Bereich kein Array (nur eine Zeile also die erste)
file.WriteLine arr ' wird die erste Zeile in die TXT geschrieben
Else
For r = 1 To UBound(arr) ' Hier wird das array auseinander gepflückt für jede Zeile  _
( bei dir 95)
file.WriteLine Join(WorksheetFunction.Index(arr, r, 0), Chr(9)) ' hier wird die  _
Zeile r in die Txt eingetragen und die einzelnen Spalten mit einem  Tab(Chr(9)) getrennt
Next
End If
End With
file.Close ' TXT wird geschlossen
End Sub

Anzeige
AW: unicode bei export und doppelzeichen verhindern
31.08.2016 17:10:57
rocketfox
danke für all die infos
kann ich
With ActiveSheet
durch
With Worksheets("Blattname")
ersetzen und so ein anderes Blatt abspeichern? ohne weiteres zu beachten?
gruß chris
AW: unicode bei export und doppelzeichen verhindern
01.09.2016 09:08:22
baschti007
Jap Kannst du

Thisworkbook.Worksheets("Blattname")
Gruß Basti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige