von F3K Total » Di, 10.12.2013 19:14
Hi,
das kann man mit Makros erledigen:
Code: Alles auswählen
Sub S_load_CSV_keep_Columns
Dim Args(1) as New com.sun.star.beans.PropertyValue
sURL = converttourl("C:\Users\<myUsername>\Desktop\Test.csv") ' <------ Dateipfad
Args(0).Name = "FilterName"
Args(0).Value ="Text - txt - csv (StarCalc)"
Args(1).Name = "FilterOptions "
Args(1).Value = "44,34,12,1,,0,false,false" ' <------ hängt von der Art der .csv-Datei ab
odoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Args())
osheet = odoc.sheets(0)
ncolumns = 5 ' <------ Anzahl Spalten
ocursor = osheet.createCursor
ocursor.gotoendofusedArea(false)
nMaxcolumn = ocursor.rangeaddress.endcolumn
osheet.columns.removeByIndex( ncolumns, nMaxcolumn-(ncolumns-1))
End Sub
Sub S_load_CSV_keep_Rows
Dim Args(1) as New com.sun.star.beans.PropertyValue
sURL = converttourl("C:\Users\<myUsername>\Desktop\Test.csv") ' <------ Dateipfad
Args(0).Name = "FilterName"
Args(0).Value ="Text - txt - csv (StarCalc)"
Args(1).Name = "FilterOptions "
Args(1).Value = "44,34,12,1,,0,false,false" ' <------ hängt von der Art der .csv-Datei ab
odoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Args())
osheet = odoc.sheets(0)
nrows = 5 ' <------ Anzahl Zeilen
ocursor = osheet.createCursor
ocursor.gotoendofusedArea(false)
nMaxrow = ocursor.rangeaddress.endrow
osheet.rows.removeByIndex( nrows, nMaxrow-(nrows-1))
End Sub
Die Makros laden erst die gesamte .csv und löschen dann alle nicht benötigten Spalten/Zeilen
Allerdings muss die Zeile
dem Format der .csv-Datei angepasst werden.
Da kann ich ohne Beispieldokument nicht weiterhelfen.
Gruß R
Hi,
das kann man mit Makros erledigen:
[code]Sub S_load_CSV_keep_Columns
Dim Args(1) as New com.sun.star.beans.PropertyValue
sURL = converttourl("C:\Users\<myUsername>\Desktop\Test.csv") ' <------ Dateipfad
Args(0).Name = "FilterName"
Args(0).Value ="Text - txt - csv (StarCalc)"
Args(1).Name = "FilterOptions "
Args(1).Value = "44,34,12,1,,0,false,false" ' <------ hängt von der Art der .csv-Datei ab
odoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Args())
osheet = odoc.sheets(0)
ncolumns = 5 ' <------ Anzahl Spalten
ocursor = osheet.createCursor
ocursor.gotoendofusedArea(false)
nMaxcolumn = ocursor.rangeaddress.endcolumn
osheet.columns.removeByIndex( ncolumns, nMaxcolumn-(ncolumns-1))
End Sub
Sub S_load_CSV_keep_Rows
Dim Args(1) as New com.sun.star.beans.PropertyValue
sURL = converttourl("C:\Users\<myUsername>\Desktop\Test.csv") ' <------ Dateipfad
Args(0).Name = "FilterName"
Args(0).Value ="Text - txt - csv (StarCalc)"
Args(1).Name = "FilterOptions "
Args(1).Value = "44,34,12,1,,0,false,false" ' <------ hängt von der Art der .csv-Datei ab
odoc = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, Args())
osheet = odoc.sheets(0)
nrows = 5 ' <------ Anzahl Zeilen
ocursor = osheet.createCursor
ocursor.gotoendofusedArea(false)
nMaxrow = ocursor.rangeaddress.endrow
osheet.rows.removeByIndex( nrows, nMaxrow-(nrows-1))
End Sub[/code]
Die Makros laden erst die gesamte .csv und löschen dann alle nicht benötigten Spalten/Zeilen
Allerdings muss die Zeile[code]Args(1).Value = "44,34,12,1,,0,false,false"[/code]dem Format der .csv-Datei angepasst werden.
Da kann ich ohne Beispieldokument nicht weiterhelfen.
Gruß R