von utzachaka » Di, 06.03.2018 19:59
Hi,
ich benötige ein Makro, welches mir bestimmte Zellinhalte in eine .txt Datei schreibt.
In VBA habe ich ein Makro gefunden, welches anscheinend diesen Zweck erfüllt. Es funktioniert natürlich nicht für OpenOffice Calc.
Hier der Code:
Code: Alles auswählen
Sub TXT_Exportieren()
Dim intCountRow As Integer
Dim intCountCol As Integer
Dim strHeader As Variant
'Datei wird geöffnet oder angelegt, wenn sie nicht existiert.
'oder einfach überschrieben, wenn sie bereits existiert
Open "c:\test_1.txt" For Output As #1
'Zuerst wird ein StringArray "strHeader" erzeugt, das die Spalten-
'überschriften enthält. Dieses StringArray wird dann in am
'Anfang jeder Zeile in die Textdatei geschrieben.
strHeader = Range(Range("A1"), Cells(1, UsedRange.Columns.Count))
For intCountRow = 2 To UsedRange.Rows.Count
For intCountCol = LBound(strHeader) To UBound(strHeader, 2)
Print #1, strHeader(1, intCountCol) & "=" & Cells(intCountRow, intCountCol).Text
Next intCountCol
Next intCountRow
Close #1
End Sub
Wie muss dieses Makro für OpenOffice aussehen? Ich habe versucht mich da etwas einzulesen, aber allein der Range Befehl schaut völlig anders aus. Ich glaube auch, dass ich weitere Variablen benötige.
In diesem Makro hier wird UsedRange verwendet. Falls OpenOffice das nicht unterstützt, reicht auch Zelle G10:L40 z.B..
Kann mir das jemand umschreiben?
Mit freundlichen Grüßen
Hi,
ich benötige ein Makro, welches mir bestimmte Zellinhalte in eine .txt Datei schreibt.
In VBA habe ich ein Makro gefunden, welches anscheinend diesen Zweck erfüllt. Es funktioniert natürlich nicht für OpenOffice Calc.
Hier der Code:
[code]Sub TXT_Exportieren()
Dim intCountRow As Integer
Dim intCountCol As Integer
Dim strHeader As Variant
'Datei wird geöffnet oder angelegt, wenn sie nicht existiert.
'oder einfach überschrieben, wenn sie bereits existiert
Open "c:\test_1.txt" For Output As #1
'Zuerst wird ein StringArray "strHeader" erzeugt, das die Spalten-
'überschriften enthält. Dieses StringArray wird dann in am
'Anfang jeder Zeile in die Textdatei geschrieben.
strHeader = Range(Range("A1"), Cells(1, UsedRange.Columns.Count))
For intCountRow = 2 To UsedRange.Rows.Count
For intCountCol = LBound(strHeader) To UBound(strHeader, 2)
Print #1, strHeader(1, intCountCol) & "=" & Cells(intCountRow, intCountCol).Text
Next intCountCol
Next intCountRow
Close #1
End Sub[/code]
Wie muss dieses Makro für OpenOffice aussehen? Ich habe versucht mich da etwas einzulesen, aber allein der Range Befehl schaut völlig anders aus. Ich glaube auch, dass ich weitere Variablen benötige.
In diesem Makro hier wird UsedRange verwendet. Falls OpenOffice das nicht unterstützt, reicht auch Zelle G10:L40 z.B..
Kann mir das jemand umschreiben?
Mit freundlichen Grüßen