Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Exceldatei als Textdatei speichern o.AnführungsZei

Betrifft: Exceldatei als Textdatei speichern o.AnführungsZei von: Pepi
Geschrieben am: 01.11.2012 16:57:07

Hallo Zusammen
Viele Fragen zum Thema und fast ebensoviele Antworten habe ich zum Thema gefunden, aber leider funktioniert bei mir keine wirklich gut. Ich möchte die Gänsefüsschen am Anfang und Ende entfernen, damit der Import in eine Telefon-SW funktioniert.
Der folgende Code entfernt zwar die Gänsefüsslein, verändert aber auch den Text.
Eine Musterzeie sieht bei mir so aus:
"Andy Schweizer; 077-749 33 86; 6600 Baden, Kornfeldweg 38"
Andy Schweizer; 077-749 33 86; 6600 Baden, Kornfeldweg 38 (so soll er sein)

Private Sub CommandButton1_Click() 
Dim datei As String
Dim zeile As Integer
Dim letzteZeile As Integer
letzteZeile = Cells(Rows.Count, 2).End(xlUp).Row + 1
zeile = 2
datei = ThisWorkbook.Path & "\Import_Phoner_121101-1114.txt"

Open datei For Output As #1
  Do While zeile < letzteZeile
    Print #1, ActiveSheet.Cells(zeile, 1) & ActiveSheet.Cells(zeile, 2) & ActiveSheet.Cells( _
zeile, 3) 'Chr(34) = >"<
    'Print #1, ActiveSheet.Cells(zeile + 1, 2) & Chr(34) & ActiveSheet.Cells(zeile + 1, 3) &  _
Chr(34)  'Chr(34) = >"<
    'Print #1, ActiveSheet.Cells(zeile + 2, 2) & Chr(34) & ActiveSheet.Cells(zeile + 2, 3) &  _
Chr(34) & vbCrLf
    zeile = zeile + 4
  Loop
Close #1
End Sub
Lieber als so was, wäre mir natürlich, wenn ich das File gleich ohne "" speichern könnte - nicht als *.txt speichern, dann wieder öffnen, bearbeiten und nochmals schliessen - aber wenn's nicht anders geht...
mfg
Pepi
vielen Dank für Eure Hilfe

  

Betrifft: AW: Exceldatei als Textdatei speichern o.AnführungsZei von: Nepumuk
Geschrieben am: 01.11.2012 17:26:58

Hallo,

benutze an Stelle von Print einfach Write.

Write #1, ActiveSheet.Cells(zeile, 1) & _
    ActiveSheet.Cells(zeile, 2) & ActiveSheet.Cells(zeile, 3)

Gruß
Nepumuk


  

Betrifft: AW: Exceldatei als Textdatei speichern o.AnführungsZei von: Pepi
Geschrieben am: 02.11.2012 08:57:17

Hallo Nepumuk
Danke für den Typ - leider kann ich damit nichts anfangen. Ob ich Print oder Wrtie verwende, die Anführungszeichen bleiben. Doch der Text wird völlig verstümmelt. Viele Adressen sind nicht mehr vorhanden, bei allen fehlt die Telefonnummer. Ich verstehe auch die Syntax nicht - auch nach langem Pröbeln bekam ich keinen Durckblick.
Ich kann mir nicht vorstellen, dass es nicht irgend einen Parameter beim Speichern als "*.txt" gibt, der macht, dass keine Anführungszeichen geschrieben werden. Das ganze passiert ja erst beim Schliessen des txt-files, denn nach dem speichern als txt-Datei habe ich keine Anführungszeichen. Sie kommen, wenn ich die txt-Datei schliesse und wieder als txt-datei öffne.
mfg
Pepi


  

Betrifft: AW: Exceldatei als Textdatei speichern o.AnführungsZei von: Nepumuk
Geschrieben am: 02.11.2012 09:49:10

Hallo Pepi,

teste mal in einer neuen Mappe mit diesen Daten:

 ABC
1Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 38
2Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 39
3Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 40
4Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 41
5Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 42
6Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 43
7Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 44
8Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 45
9Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 46
10Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 47
11Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 48
12Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 49
13Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 50
14Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 51
15Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 52
16Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 53
17Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 54
18Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 55
19Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 56
20Andy Schweizer077-749 33 866600 Baden, Kornfeldweg 57

Und diesem Code:

Public Sub Test()
    Dim intFileNumber As Integer
    Dim lngRow As Long
    intFileNumber = FreeFile
    Open "D:\Testfile.txt" For Output As #intFileNumber
    For lngRow = 1 To 20
        Print #intFileNumber, Join(Array(Cells(lngRow, 1).Value, _
            Cells(lngRow, 2).Value, Cells(lngRow, 3).Value), ";")
    Next
    Close #intFileNumber
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Exceldatei als Textdatei speichern o.AnführungsZei von: Pepi
Geschrieben am: 02.11.2012 11:44:28

Hallo Nepumuk
Das ist ja was ganz anderes - Habe meinen ganzen Code nach diesem Muster gestrickt (ich habe die Daten nicht so schön in den Spalten!) - aber alles läuft palletti - vielen Dank
mfg
Pepi


 

Beiträge aus den Excel-Beispielen zum Thema "Exceldatei als Textdatei speichern o.AnführungsZei"