von little fingers » So, 10.02.2019 15:36
Hi Stephan!
Ich glaube, dass ich hier überfordert bin.
Ich weiss hier gar nicht, wo ich den Quellbereich der CSV (A2:J129) Datei,
den Zielbreich des aktuellen Tabellenblattes (B43:K170 )
Ferner kommen heir wieder Fehlermeldungen auf bei
if NOT Helper.CheckCalcDokument(odoc) Then exit sub
oZelle = Helper.GetFirstSelectedCell(oDoc.getCurrentSelection())
Objektvariable nicht belegt!
Gruss Ingo
Code: Alles auswählen
'/** CSVDateiEinfuegen()
'*************************************************************************.
'* @kurztext fügt die Daten einer CSV-Datei an der aktuellen Zelle beginnend ein
'* Diese Funktion fügt die Daten einer CSV-Datei an der aktuellen
'* Zelle beginnend ein
'*************************************************************************
'*/
sub CSVDateiEinfuegen()
dim oZelle as variant 'Objekt der aktuellen Zelle
dim sZelle as string 'Zellname
dim oTab as object 'aktuelles Tabellenblatt
dim odoc as variant 'aktuelles Dokument
REM Parameter für die Beschreibung der CSV-Datei
dim sFt as string, sDt as string, sTt as string, sTk as string, sZs as string
dim aOpt(6) '7 Werte: FT, DT, TT, TK, ZS, ersteZeile, Feldeinstellung
dim aDaten() 'einzutragenden Daten
oDoc = thisComponent
if NOT Helper.CheckCalcDokument(odoc) Then exit sub
oZelle = Helper.GetFirstSelectedCell(oDoc.getCurrentSelection())
REM Vorgabedaten definieren (würcen üblicherweise über Dialog erfragt!)
sCSVURL = convertToURL("V:\TXT\L-Statistik-Touren.csv")
REM CSV-Parameter Liste -7 Werte: FT, DT, TT, TK, ZS, ersteZeile, Feldeinstellung
aOpt(0) = ";" 'Feldtrenner
aOpt(1) = "." 'Dezimaltrenner
aOpt(2) = "" 'Tausendertrenner - keiner
aOpt(3) = """" 'Textkennzeichen (Doppelte Hochzeichen – hier maskiert!
aOpt(4) = "UTF-8" 'Zeichensatz CSV-Datei
aOpt(5) = false 'Erste Zeile eintragen (true) oder weglassen (false)
aOpt(6) = true 'Calc erkennt Feldtyp automatisch (true) oder nurText einfügen (false)
REM Jetzt Daten einlesen
aDaten = Helper.CSV_Liste_Einlesen(sCSVURL, aOpt())
if isEmpty(aDaten) then exit sub 'leere Liste - Fehler aufgetreten
aZeile = aDaten(0)
REM Daten eintragen
oTab = oDoc.getCurrentController.getActiveSheet() 'das aktuelle Tabellenblatt
oBereich = oTab.getCellRangeByPosition(oZelle.CellAddress.Column, oZelle.CellAddress.row, _
oZelle.CellAddress.Column + uBound(aZeile()), oZelle.CellAddress.row + uBound(aDaten))
if aOpt(6) then 'Calc wählt Typen
oBereich.setFormulaArray(aDaten)
else
oBereich.setDataArray(aDaten)
end if
end sub
Hi Stephan!
Ich glaube, dass ich hier überfordert bin.
Ich weiss hier gar nicht, wo ich den Quellbereich der CSV (A2:J129) Datei,
den Zielbreich des aktuellen Tabellenblattes (B43:K170 )
Ferner kommen heir wieder Fehlermeldungen auf bei
if NOT Helper.CheckCalcDokument(odoc) Then exit sub
oZelle = Helper.GetFirstSelectedCell(oDoc.getCurrentSelection())
Objektvariable nicht belegt!
Gruss Ingo
[code]'/** CSVDateiEinfuegen()
'*************************************************************************.
'* @kurztext fügt die Daten einer CSV-Datei an der aktuellen Zelle beginnend ein
'* Diese Funktion fügt die Daten einer CSV-Datei an der aktuellen
'* Zelle beginnend ein
'*************************************************************************
'*/
sub CSVDateiEinfuegen()
dim oZelle as variant 'Objekt der aktuellen Zelle
dim sZelle as string 'Zellname
dim oTab as object 'aktuelles Tabellenblatt
dim odoc as variant 'aktuelles Dokument
REM Parameter für die Beschreibung der CSV-Datei
dim sFt as string, sDt as string, sTt as string, sTk as string, sZs as string
dim aOpt(6) '7 Werte: FT, DT, TT, TK, ZS, ersteZeile, Feldeinstellung
dim aDaten() 'einzutragenden Daten
oDoc = thisComponent
if NOT Helper.CheckCalcDokument(odoc) Then exit sub
oZelle = Helper.GetFirstSelectedCell(oDoc.getCurrentSelection())
REM Vorgabedaten definieren (würcen üblicherweise über Dialog erfragt!)
sCSVURL = convertToURL("V:\TXT\L-Statistik-Touren.csv")
REM CSV-Parameter Liste -7 Werte: FT, DT, TT, TK, ZS, ersteZeile, Feldeinstellung
aOpt(0) = ";" 'Feldtrenner
aOpt(1) = "." 'Dezimaltrenner
aOpt(2) = "" 'Tausendertrenner - keiner
aOpt(3) = """" 'Textkennzeichen (Doppelte Hochzeichen – hier maskiert!
aOpt(4) = "UTF-8" 'Zeichensatz CSV-Datei
aOpt(5) = false 'Erste Zeile eintragen (true) oder weglassen (false)
aOpt(6) = true 'Calc erkennt Feldtyp automatisch (true) oder nurText einfügen (false)
REM Jetzt Daten einlesen
aDaten = Helper.CSV_Liste_Einlesen(sCSVURL, aOpt())
if isEmpty(aDaten) then exit sub 'leere Liste - Fehler aufgetreten
aZeile = aDaten(0)
REM Daten eintragen
oTab = oDoc.getCurrentController.getActiveSheet() 'das aktuelle Tabellenblatt
oBereich = oTab.getCellRangeByPosition(oZelle.CellAddress.Column, oZelle.CellAddress.row, _
oZelle.CellAddress.Column + uBound(aZeile()), oZelle.CellAddress.row + uBound(aDaten))
if aOpt(6) then 'Calc wählt Typen
oBereich.setFormulaArray(aDaten)
else
oBereich.setDataArray(aDaten)
end if
end sub[/code]