WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Excel Zelle in Textdatei (txt) rausschreiben/exportieren (http://www.wcm.at/forum/showthread.php?t=243587)

J@ck 23.12.2011 11:35

Excel Zelle in Textdatei (txt) rausschreiben/exportieren
 
Liebe Kenner,

ich suche einen Code, mit dem ich bestimmte Zellen eines Excel Sheets in eine txt Datei exportieren kann.
Wichtig ist dabei, dass die Zellen untereinander mit Semikolon ( ; ) getrennt sind und an diese Datei immer unten angehängt (also nicht überschrieben) wird.

Es gibt zwar im www weitgehend viel Material dazu, aber mit meinem zweiten Anliegen stehe ich meist an.

Danke & LG
Jack

pc.net 23.12.2011 11:40

das schreit nach einem makro ;)

ZombyKillah 23.12.2011 15:14

Ich denke hier wird das Thema recht ausführlich behandelt:
http://stackoverflow.com/questions/1...n-command-line

Oder hier:
http://www.softinterface.com/Convert...XLS-To-CSV.htm

J@ck 23.12.2011 16:01

@pc.net: Dass es ein Makro wird, war mir schon klar ;)

@ZombyKillah: Ich wollte eigentlich nicht das ganze xls in was anderes umwandeln, sondern nur den Inhalt einzelner Zellen wegschreiben lassen.

ZombyKillah 23.12.2011 16:14

Willst du die Zeilen manuell auswählen oder anhand des Inhaltes automatisch anhängen lassen?
Für mich sieht es nach einen Fall für umwandeln, suchen, anhängen aus.

Oder man baut im VB Skript von Link1 eine entsprechende Suche ein.

pc.net 23.12.2011 22:13

Jack, mach eine detailliertere Anforderungsbeschreibung, ev. mit Beispieltabelle, dann kann dir eher geholfen werden ;) ...

J@ck 24.12.2011 13:59

Beispiel:
In einem Excel Sheet werden verschiedene Informationen eingetragen wie z.B. Name, Adresse, Geburtsdatum, Telefonnummer und E-Mail Adresse. Jede Information in einer eigenen Zelle (eh klar). In diesem Sheet sind eine ganze Menge mehr Informationen drinnen.

Ein Script/Makro/Automatismus soll 3 dieser 50 verschiedenen Zellen in ein (txt) File exportieren: Vorname, Nachname und E-Mail Adresse. Getrennt mit einem Semikolon und fortlaufend mit nächster Zeile.

pc.net 25.12.2011 00:03

sind die spalten immer an der gleichen position?

J@ck 25.12.2011 09:15

Die Zellen sind immer gleich, hoffe Du meintest diese :hallo:

wbendl 17.01.2012 00:33

Hi!

Dieser Code sollte den gewünschten Effekt bringen.

Code:

Private Sub Export()
  Dim cnn As New ADODB.Connection
  Dim rst As New ADODB.Recordset
  Dim strSQL As String
 
  Dim intFilehandle As Integer
  Dim strFilename As String
 
  Dim fld As Field
  Dim strLine As String
 
  cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
      & "Extended Properties=""Excel 8.0;HDR=YES;"";" _
      & "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";"
 
  strSQL = "SELECT [Vorname], [Nachname], [E-Mal Adresse] FROM [Tabelle1$A:E]"
 
  cnn.Open
  rst.Open strSQL, cnn, adOpenKeyset, adLockOptimistic
 
  strFilename = ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3) & "txt"
 
  intFilehandle = FreeFile()
  Open strFilename For Output As intFilehandle
 
  Do While Not rst.EOF
    For Each fld In rst.Fields
      strLine = strLine & fld.Value & ";"
    Next
      strLine = Left(strLine, Len(strLine) - 1)
      Print #intFilehandle, strLine
      strLine = vbNullString
    rst.MoveNext
  Loop
  Close #intFilehandle
 
End Sub

Ein Verweis auf ADO muß gesetzt werden.
Einige Parameter müssen angepaßt werden

Name und Pfad der txt werden aus der xls übernommen.


mfg

WB


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag