Von Excel in Textdatei schreiben!

tYrEaL

Erfahrenes Mitglied
hi!

Wie man am Betreff schon sehen kann, möchte ich in VB6 auf ein Exceldokument zugreifen und dann bestimmte Zellen in ein Textdokument schreiben....

wer kann mir helfen




Gruß
tYrEaL
 
Excel als Textdatei speichern

Hallo !

Mit dem beiliegenden Makro (frei nach Bernd Held VBA in 21 Tagen) müsste der Export in eine Textdatei klappen.

Sub InTextDatei()
Dim Bereich As Range
Dim Zelle As Range
Dim Zeile As Range
Dim s As String


'Aktives Tabellenblatt as Quelle auswählen
Set Bereich = ActiveSheet.UsedRange

'zur besseren Übersicht wird der benutzte Bereich markiert
Bereich.Select

'falls nur ein bestimmter Bereich der Tabelle übergeben werden soll
'muss der Bereich ausgewählt werden. Beispiel
:'"set Bereich=nameworkbook.worksheets(name).range("a1:d4")"

s = ""

Open "c:\test.txt" For Output As #1

'Abarbeiten aller Zeilen im benutzten Bereich
For Each Zeile In Bereich.Rows

'Abarbeiten aller Spalten (Zellen) im benutzten Bereich
For Each Zelle In Zeile.Cells

'Übergabe in den Textstring s

s = s & Zelle.Text & "," 'Komma als Trennzeichen


Next

'Beim letzten Wert das Trennzeichen entfernen

s = Left(s, Len(s) - 1)

'wenn s <>"" ist dann in die Textdatei schreiben
If s <> "" Then
Print #1, s
End If

's leeren
s = ""

Next

Close #1



End Sub

Viel Erfolg!

D. Bömler
 
hallo,

und schon einmal danke für deine antwort!
aber wo sag ich ihm welche datei er nehmen soll?



gruß,
tYrEaL
 
Hallo!

Bei dem Makro wird automatisch das jeweils aktive Blatt der Exceltabelle ausgewählt

"Set Bereich = ActiveSheet.UsedRange"

Den Code einfach in ein Modul der entsprechenden Tabelle einfügen und über Makro starten oder den Code in die "personl.xls" im Ordner "XLStart" des Officeverzeichnises als Makro einfügen und ebenfalls über Makro starten.

Gruß

D. Bömler
 
Hallo nochmal!

Wenn Du meinst, in welche Datei die Daten geschrieben werden sollen, ist die Zeile mit dem Open-Befehl wichtig. Hier wird der Name incl. Verzeichnis der entsprechenden Datei angegeben. Sofern die Datei noch nicht erstellt wurde, erfolgt dies automatisch.

Gruß

D. Bömler
 
huhu

hi!

ok es klappt jetzt soweit schon einmal alles,ein Danke dafür!

Aber, ;)

ich krieg es nicht hin ,dass er bestimmte Spalten nimmt. wie krieg ich das hin?
Mit deinem Beispiel oben,klappt es irgednwie nicht?hast du oder wer anders ne Idee?



Gruß,
tYrEaL
 
Hallo!

Bestimmte Spalten kannst Du über den SET BEREICH = - Befehl auswählen

Beispiel:

Übertragung der Werte aus den Zellen A1 bis D5 des aktiven Tabellenblattes

Set Bereich=Activesheet.Range("A1:D5")

Übertragung der Werte aus den Zellen A bis D des aktiven Tabellenblattes
Set Bereich=Activesheet.Range("A:D")

Gruß

D. Bömler
 
Zurück