Daten aus einer andern Datei kopieren!
Moderator: Moderatoren
-
- ***
- Beiträge: 74
- Registriert: Fr, 12.05.2017 15:31
Daten aus einer andern Datei kopieren!
Hallo Ihr Lieben!
Ich würde gerne mit Button, also per Makro Daten aus einer CSV-Datei (V:\TXT\L-Statistik-Touren.csv) aus dem Bereich A2:J129)
in den aktuellen Tabellenblatt in den Bereich B43:K170 als unformatierter Text kopieren
1. Geht das überhaupt?
2. Wenn ja, wie könnte man das lösen?
Liebe Grüße
Ingo
Ich würde gerne mit Button, also per Makro Daten aus einer CSV-Datei (V:\TXT\L-Statistik-Touren.csv) aus dem Bereich A2:J129)
in den aktuellen Tabellenblatt in den Bereich B43:K170 als unformatierter Text kopieren
1. Geht das überhaupt?
2. Wenn ja, wie könnte man das lösen?
Liebe Grüße
Ingo
Re: Daten aus einer andern Datei kopieren!
z.B. wie in2. Wenn ja, wie könnte man das lösen?
https://www.wollmux.net/wiki/images/f/f ... chbuch.pdf
Kapitel "3.4.3.1 Einlesen von CSV-Dateien und Daten in Calc-Tabelle schreiben"
beschrieben.
Gruß
Stephan
-
- ***
- Beiträge: 74
- Registriert: Fr, 12.05.2017 15:31
Re: Daten aus einer andern Datei kopieren!
Hallo Stephan ,
vielen Dank für die schnelle Antwort!
Ich das Makro eingefügt und bekomme hier die Fehlermeldung BASIC-Syntaxfehler
sCSVURL = convertToURL(
Gruss Ingo
vielen Dank für die schnelle Antwort!
Ich das Makro eingefügt und bekomme hier die Fehlermeldung BASIC-Syntaxfehler
sCSVURL = convertToURL(
Gruss Ingo
Re: Daten aus einer andern Datei kopieren!
bitte schaue genau hin, denn die Fehlermeldung ist selbst erklärend, denn es ist von "unerwartetes Symbol" die Rede und eben jenes Symbol ist markiert.
Es ist nur notwendig die typografischen Anführungszeichen:
gegen normale Anführungszeichen zu ersetzen:
Gruß
Stephan
Es ist nur notwendig die typografischen Anführungszeichen:
Code: Alles auswählen
sCSVURL = convertToURL(„D:\Daten\meineCSVDatei.csv“))
Code: Alles auswählen
sCSVURL = convertToURL("D:\Daten\meineCSVDatei.csv"))
Gruß
Stephan
-
- ***
- Beiträge: 74
- Registriert: Fr, 12.05.2017 15:31
Re: Daten aus einer andern Datei kopieren!
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
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
Re: Daten aus einer andern Datei kopieren!
Eine csv-Datei hat keinen Quellbereich, weil es keine Tabellendatei ist, das müsste also in der Funktion "CSV_Liste_Einlesen" (S. 54 im PDF) angepasst werden. Der Zielbereich wird im Makro hingegen als Selektion übergeben bzw. erwartet.Ich weiss hier gar nicht, wo ich den Quellbereich der CSV (A2:J129) Datei,
den Zielbreich des aktuellen Tabellenblattes (B43:K170 )
Bei CheckCalcDokument und GetFirstSelectedCell handelt es sich um die Hilfsfunktionen jeweils gleichen Namens, die im PDF auf den Seiten 204 und ??? stehen.Ferner kommen heir wieder Fehlermeldungen auf bei
if NOT Helper.CheckCalcDokument(odoc) Then exit sub
oZelle = Helper.GetFirstSelectedCell(oDoc.getCurrentSelection())
Objektvariable nicht belegt!
Zweckmäßigerweise sollten diese, in dasselbe Modul wie das Makro kopiert werden und dann die Aufrufe entsprechend geändert werden in:
Code: Alles auswählen
if NOT CheckCalcDokument(odoc) Then exit sub
Code: Alles auswählen
oZelle = GetFirstSelectedCell(oDoc.getCurrentSelection())
Ich fürchte diese Antwort wird Dir nicht genügen, für mehr habe ich aber momentan keine Zeit.
Gruß
Stephan
-
- ***
- Beiträge: 74
- Registriert: Fr, 12.05.2017 15:31
Re: Daten aus einer andern Datei kopieren!
Hi Stephan,
Da magst Du mit Deiner Einschätzung Recht haben.
Werde aber Deine Hinweise beachtend, die entsprechenden Seiten der PDF anschauen.
Trotzdem also, vielen lieben Dank!
Grüße
Ingo
Da magst Du mit Deiner Einschätzung Recht haben.
Werde aber Deine Hinweise beachtend, die entsprechenden Seiten der PDF anschauen.
Trotzdem also, vielen lieben Dank!
Grüße
Ingo