Herbers Excel-Forum - das Archiv
Problem mit ActiveWorkbook.SaveAs
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Problem mit ActiveWorkbook.SaveAs
von: Heinrich M.
Geschrieben am: 11.11.2003 12:34:09
Hallo,
kann mir jemand bei folgendem Problem helfen?
Ich schreibe per Makro in eine txt-Datei verschiedene Werte untereinander, wie z.B.
_LABEL_1 "Hallo";
Wenn ich die Datei dann speichere (ActiveWorkbook.SaveAs) sieht der Text im Editor wie folgt aus:
"_LABEL ""Hallo"";"
Wie kann ich unterbinden, dass Excel die zusätzlichen Anführungszeichen setzt?
Vielen Dank im Voraus,
Heinrich
Betrifft: Zeig mal den Code den du verwendest...
von: Ramses
Geschrieben am: 11.11.2003 12:36:44
Hallo
dann wird das ganze sicher einfacher.
Gruss Rainer
Betrifft: AW: Zeig mal den Code den du verwendest...
von: Heinrich M.
Geschrieben am: 11.11.2003 12:43:24
Kein Ding' nich, hier isser:
Sub CreateTexts()
rownum = 0
counter1 = 0
counter2 = 4
Range("B5").Select
Do While Application.ScreenUpdating = True
If ActiveCell.Value = "" Then
Application.ScreenUpdating = False
Else
rownum = rownum + 1
ActiveCell.Offset(3, 0).Select
End If
Loop
Application.ScreenUpdating = True
last_sheet = ActiveSheet.Name
new_textfile = Range("Configuration!B9").Value & "text\text_" & Range("Configuration!E11").Value & "\" & last_sheet & ".txt"
Workbooks.Open Range("Configuration!B9").Value & "text\print.txt"
new_workbook = ActiveWorkbook.Name
'Open new_textfile For Output As #1
For h = 1 To rownum
Windows("LocKit.xls").Activate
inhalt = Sheets(last_sheet).Range("K1").Offset(counter2, 0).Value
If [inhalt] = "" Then
new_inhalt = Sheets(last_sheet).Range("B1").Offset(counter2, 0).Value _
& Range("Referenz!A14").Value & Sheets(last_sheet).Range("L1").Offset(counter2, 0).Value & Range("Referenz!A15").Value
Else
new_inhalt = Sheets(last_sheet).Range("B1").Offset(counter2, 0).Value _
& Range("Referenz!A12").Value & Sheets(last_sheet).Range("K1").Offset(counter2, 0).Value & Range("Referenz!A13").Value _
& Range("Referenz!A14").Value & Sheets(last_sheet).Range("L1").Offset(counter2, 0).Value & Range("Referenz!A15").Value
End If
Windows(new_workbook).Activate
Range("A1").Offset(counter1, 0) = new_inhalt
' Print #1, new_inhalt
counter1 = counter1 + 1
counter2 = counter2 + 3
Next
'Close #1
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs new_textfile, xlUnicodeText
ActiveWorkbook.Close savechanges:=False
'Application.DisplayAlerts = True
Sheets(last_sheet).Activate
Range("L5").Select
End Sub
Sieht kompliziert aus, funktioniert aber wunderbar... Die auskommentierten Zeilen sind mein erster Versuch gewesen, die Textdatei zu erstellen - ging aber leider schief, weil ich dem Open-Befehl nicht beibringen konnte, die Textdatei in Unicode anzulegen.
Ich hoffe, jemand kann mir helfen - mein Chef steigt mir langsam auf's Dach :-)
Betrifft: Nähere Erläuterung meines Problems
von: Heinrich M.
Geschrieben am: 11.11.2003 14:48:08
Ich erläutere mein Problem mal etwas näher:
Ich schreibe ein Excel-Programm, dass auch in Russland, Japan usw. einsetzbar sein muss. Wenn ich meine Daten als ASCII Text abspeichere, kann man sie im deutschsprachigen Raum problemlos mit dem Editor öffnen, im Ausland wird dies jedoch schon schwieriger.
Ergo bin ich gezwungen, meine Daten als Unicode Text abzuspeichern, damit die Daten in jedem Land einwandfrei gelesen und von einem weiteren Programm ausgewertet werden können.
Vielleicht bin ich ja auch auf dem komplett falschen Weg. Hat jemand eine Idee, was ich tun kann?
Viele Grüsse,
Heinrich
Betrifft: Unicode....
von: Ramses
Geschrieben am: 11.11.2003 22:29:59
Hallo Heinrich
Tut mir leid, dass es solange gedauert hat.
Da hast du den falschen erwischt.
Mit UniCode Dateien habe ich keine Erfahrung, allerdings mache ich es etwas anders :-)
Warum schreibst du nicht direkt in die/eine Textdatei ? ;-)
Schau mal hier
http://www.office.gmxhome.de/_excel_vba_externe_daten.htm
da findest du was.
Damit kannst du die Textdatei direkt erstellen, ohne eine XLS-Datei zu "vergewaltigen" :-)
Gruss Rainer
Betrifft: AW: Unicode....
von: Heinrich M.
Geschrieben am: 12.11.2003 08:20:07
Hallo Rainer,
bei meinen bisherigen Versuchen, Textdateien nachträglich zu bearbeiten, ist das Unicode-Format irgendwie verloren gegangen... keine Ahnung warum. Ich versuche es aber mal mit einem der Beispiele.
Vielen Dank für deine Mühe :-)
Heinrich