BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

gelöst; variable Zellenzahl ermitteln

Alles zur Programmierung im LibreOffice.
nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Mo 22. Feb 2021, 05:15

natal hat geschrieben:
So 21. Feb 2021, 16:50
… dein Makro habe ich installiert (Bild1)
Ich vermisse "main" da drin.
natal hat geschrieben:
So 21. Feb 2021, 16:50
die Dokumentenvorlage ist gespeichert (Bild2)
Mache Dir ein Link da drauf und verschiebe das in das (und nun kommt's) Arbeitsverzeichnis.
Das Arbeitsverzeichnis sollte ein Unterordner Deines home-Verzeichnisses sein, also funktioniert das auch mit einem Ordner auf dem Schreibtisch.
Wenn Du jetzt das Link auf die Vorlage an- (oder bei Dir vielleich doppel-)klickst, also öffnest, wird in diesem Verzeichnis die neue .ods-Datei erzeugt. Das Makro liest deren Pfad in die string-Variable sPath (deshalb ist Name und Ort dieses Verzeichnisses egal - wird ja eingelesen) …
natal hat geschrieben:
So 21. Feb 2021, 16:50
Was ich nicht kapiere ist, wo soll(en) die CSV-Datei(en) abgelegt sein , damit sie mit PickCSV gefunden werden?
… und sucht im selben Verzeichnis nach .csv-Dateien mit dem Prefix (Konstante sPrfx) "Hans_Meerkatz_".
Wenn keine drin ist, macht das Makro gar nix.
Wenn eine drin ist, liest es die in das neu erstellte Dokument ein und macht schon erste Auswertungen. Den Rest machen Deine Formeln in den Zellen. Dann endet das Makro mit dem Speichern des Dokuments mit zur .csv-Datei passendem Namen und deren "Abhaken" (Erweiterung in .csv✔ umbenannt), damit sie bei folgenden Läufen nicht noch einmal verarbeitet wird.
Wenn mehrere drin sind, erscheint der Filepicker mit dem Du dann eine der "Hans_Meerkatz_….csv"-Dateien im Verzeichnis auswählst. Rest wie im Absatz hier drüber.

Also: im Arbeitsverzeichnis müssen das Link auf die Vorlage und die "Hans_Meerkatz_….csv"-Datei(en) sein.
Und dort werden dann auch die Auswertungen (.ods-Dateien) erzeugt und die verarbeiteten .csv-Dateien abgehakt.
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Di 23. Feb 2021, 18:09

Hallo nitja
Zur Zeit bin ich noch immer hauptsächlich mit meinem PC beschäftigt.
Aber diese Frage könnte ich Dir doch inzwischen stellen.
natal hat geschrieben: ↑
So 21. Feb 2021, 16:50
die Dokumentenvorlage ist gespeichert (Bild2)

Mache Dir ein Link da drauf und verschiebe das in das (und nun kommt's) Arbeitsverzeichnis.
Da bin ich wieder einmal überfordert.
Der Weg zum CSV-Ordner mit den CSV-Dateien am Schreibtisch ist : /home/servus/Schreibtisch/CSV
Der Weg zu Polar-neu über Dokumentenvorlage öffnen ist: servus/Vorlagen/Polar-neu.ots
Wie soll ich die beiden Pfade verbinden?

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Mi 24. Feb 2021, 00:42

natal hat geschrieben:
Di 23. Feb 2021, 18:09
Da bin ich wieder einmal überfordert.
Der Weg zum CSV-Ordner mit den CSV-Dateien am Schreibtisch ist : /home/servus/Schreibtisch/CSV
Der Weg zu Polar-neu über Dokumentenvorlage öffnen ist: servus/Vorlagen/Polar-neu.ots
Wie soll ich die beiden Pfade verbinden?
Der Pfad zu den Vorlagen wird wohl auch mit /home/ beginnen. Aber sei's drum.
Du weißt nicht, wie man z.B. in der Dateiverwaltung ein Link auf eine Datei erzeugt?
Rechtsklick auf Datei öffnet Kontextmenü:
Verknüpfung erstellen.png
Verknüpfung erstellen.png (162.06 KiB) 2762 mal betrachtet
Die hier dann beim Anklicken des Menüpunktes erzeugte Link-Datei verschiebst dann in Deinen csv-Ordner "auf dem Schreibtisch" (notfalls, wenn Dir das Verschieben Probleme macht, mit cut (im Vorlagenordner) und paste (im csv-Ordner).
Wenn das alles nicht klappt, kannst auch die Polar-neu.ots in den csv-Ordner kopieren.
's geht nur darum, dass die Datei, aus der durch Öffnen das neue Dokument erstellt wird, im selben Verzeichnis ist wie die csv-Datei(en).

🛆 Das Makro hast Du vervollständigt? Die "main" subroutine rein kopiert?
Ohne das läuft da nix!
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mi 24. Feb 2021, 16:45

Hallo nitja
Mein derzeitige Zustand:
  • Die Polar-neu.ots befindet sich im Ordner CSV am Schreibtisch.
  • Die Option „Verknüpfung erstellen“ gibt es bei mir nicht, aber ich habe die Option „Exportieren“, die ich gewählt habe.
  • Das Makro enthält nun auch den Modul „Main“.
  • Im Makro habe ich über Extras→Anpassen das Fenster Ereignisse erstellt.
Wenn ich das Makro starte, bekomme ich die Meldung „keine CSV-Datei.
Was mache ich falsch?

Noch eine Frage:
Wenn ich Makros bearbeiten wähle, wird mir im Fenster Meine Makros & Dialoge.Standard nur ein leere Seite ohne Objekt-Katalog gezeigt.
Das Schaltfeld Objekt-Katalog ist nicht vorhanden.
Ich muß den Umweg über LibreOffice Makros wählen, erst dann kann ich Meine Makros aufrufen.
Ich finde keinen Weg das zu ändern.

Na Servas
Dateianhänge
CSV-Ordner.png
CSV-Ordner.png (57.16 KiB) 2756 mal betrachtet
Makro.png
Makro.png (105.96 KiB) 2756 mal betrachtet
Anpassen_Ereignisse.png
Anpassen_Ereignisse.png (71.45 KiB) 2756 mal betrachtet
keine CSV-Datei.png
keine CSV-Datei.png (10.08 KiB) 2756 mal betrachtet

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Mi 24. Feb 2021, 20:47

natal hat geschrieben:
Mi 24. Feb 2021, 16:45
… Wenn ich das Makro starte, bekomme ich die Meldung „keine CSV-Datei.
Was mache ich falsch?
Falsch ist hier nur die Meldung.
Lautet wirklich "… keine csv-Dateien".
Und da ist meine Fehler (mangelnde Vor(aus)sicht): Hätte im Filter auch solche berücksichtigen sollen, bei denen das "CSV" groß geschrieben ist. (Anders als Windows sind alle sonstigen Betriebssysteme, die ich kenne, case sensitiv.)
Ist 'ne Kleinigkeit das Makro anzupassen. Aber der schnellste Weg ist, dass Du die beiden Dateien umbenennst mit der Erweiterung csv in Kleinbuchstaben.

Übrigens, die csv-Dateien, die ich in die zip-Datei mit Vorlage etc. mit eingepackt hatte, sind wegen z.T. vieler ungültiger Messungen gut geeignet um zu sehen, wie (einfach) das Makro diese als "failed" aus der weiteren Auswertung ausschließt.
Sie hätten freilich nicht zum beobachteten Fehlverhalten geführt, so dass diese Schwäche vorerst unentdeckt geblieben wäre.
natal hat geschrieben:
Mi 24. Feb 2021, 16:45
… Wenn ich Makros bearbeiten wähle, wird mir im Fenster Meine Makros & Dialoge.Standard nur ein leere Seite ohne Objekt-Katalog gezeigt.
Das trifft ja auch zu: Standard ist bei Dir leer. Das Makro hast Du unter PolNit gespeichert.
Sollte trotzdem mit [Makros bearbeiten] gehen, wenn Du dann halt PolNit auswählst.

Viel Spasss, wenn's dann (hoffentlich) bald läuft!
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Do 25. Feb 2021, 10:32

Hallo nitja
Leider muß es noch irgendwo eine Stolperstelle geben.
Denn auch nach geänderten CSV-Dateien kommt wieder die Meldung
ungültige Dateiauswahl
keine `Hans_Meerkatz_....csv`-Datei
Dateianhänge
CSV-Ordner.png
CSV-Ordner.png (47.2 KiB) 2743 mal betrachtet

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Do 25. Feb 2021, 14:23

natal hat geschrieben:
Do 25. Feb 2021, 10:32
… auch nach geänderten CSV-Dateien kommt wieder die Meldung
ungültige Dateiauswahl
keine `Hans_Meerkatz_....csv`-Datei
hm, seltsam… wird wohl nicht ohne debuggen an Deinem Rechner zu klären sein.

Das heißt aber, dass jetzt die Dateiauswahl gestartet ist, also der Filter¹ passende Dateinamen gefunden hat?
¹) siehe Bild 12, Zeile 40
Dann müsste auch der Pfad (meine erste, wohl falsche, Vermutung, nachdem ich mir da ja das "convertToURL" gespart hatte) richtig ausgelesen sein.
Zu der Meldung komme ich leider nicht, da der Filter bei mir eine falsche Auswahl verhindert.

Hier erst noch mal, wie es bei abläuft:
11. Arbeitsverzeichnis vor Öffnen von ''→ Polar-neu.ots''.png
11. Arbeitsverzeichnis vor Öffnen von ''→ Polar-neu.ots''.png (39.64 KiB) 2734 mal betrachtet
Es sind 2 .csv-Dateien im Verzeichnis. Ich wähle nachher die linke im Bild aus der Dateiauswahl heraus.
Öffnen (bei mir einfach Anklicken) von "→ Polar-neu.ots" startet den ganzen Vorgang.

Vorher setze ich zum Debuggen aber noch Haltepunkt(e) und test-Zuweisungen im Makroeditor:
12. Makroeditor∶ Vorbereitung von Haltepunkt und test .png
12. Makroeditor∶ Vorbereitung von Haltepunkt und test .png (121.24 KiB) 2734 mal betrachtet
Beim ersten Haltepunkt wird das Makro pausieren und im "Beobachter" der Wert von test angezeigt werden (hier der Pfad).

Nachdem das Debuggen vorbereitet ist, klick' ich dann die Verknüpfung zur Vorlage an und es erscheint …
13. ''Unbekannt" nach Öffnen von ''→ Polar-neu.ots''.png
13. ''Unbekannt" nach Öffnen von ''→ Polar-neu.ots''.png (86.47 KiB) 2734 mal betrachtet
… das neue Dokument ("Unbekannt", da noch nicht gespeichert - also auch unbenannt).
Wird aber noch nicht gefüllt, weil das Makro ja Brotzeit macht.
14. Makroeditor am Haltepunkt mit der Pfad-Variable im ''Beobachter''.png
14. Makroeditor am Haltepunkt mit der Pfad-Variable im ''Beobachter''.png (133.03 KiB) 2734 mal betrachtet
Da sitzt es nun und zeigt mir, dass sPath richtig gesetzt wurde.

Fortsetzung folgt in diesem Theater wegen der Beschränkung auf 4 Bilder in der nächsten Antwort …
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Do 25. Feb 2021, 14:46

Fortsetzung

Nachdem ich im Makroeditor auf "Ausführen (F5)" (im Bild beim Maus-Cursor) geklickt habe …
15. Filepicker nach Fortsetzung des Makros.png
15. Filepicker nach Fortsetzung des Makros.png (147.06 KiB) 2734 mal betrachtet
… bietet mir der Filepicker an, eine der beiden .csv-Dateien im Verzeichnis auszuwählen.

[Öffnen] veranlasst dann die Befüllung des neuen Dokuments:
16. Das neue CALC-Dokument - ohne weitere Interaktion fertiggestellt und abgespeichert.png
16. Das neue CALC-Dokument - ohne weitere Interaktion fertiggestellt und abgespeichert.png (176.76 KiB) 2734 mal betrachtet
… und speichert es auch gleich mit zur .csv-Datei passendem Namen ab.
(Im folgenden Bild oben rechts bei dem "Hand"-Maus-Cursor)
Letztere wird schließlich "abgehakt", bei einem weiteren Lauf also ignoriert:
17. Arbeitsverzeichnis mit neuer .ods- und ''abgehakter'' .csv-Datei.png
17. Arbeitsverzeichnis mit neuer .ods- und ''abgehakter'' .csv-Datei.png (72.65 KiB) 2734 mal betrachtet
(Im Bild unten links)

Jetzt müssen wir uns überlegen, wo der Stolperstein sein könnte.
Als erstes könnten wir den Namen der im Filepicker ausgewählten Datei überprüfen:
test = sCSVname
nach Zeile 44 einfügen und dann vom Haltepunkt das Makro im "Einzelschritt (F8)" bis nach der Anweisung fortsetzen.
u.s.w.

Probiere das doch schon mal aus. Inzwischen überlege ich mir, woran es sonst hakeln könnte.
Viel Erfolg!
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Do 25. Feb 2021, 18:21

Hallo nitja
Das Ergebnis der Prüfung mit test = sCSVname ist Bild 1.
Die Meldung kam bei Zeile 53.
Ein Mal ist mir auch Bild 2 gelungen, als ich die Position der Testeingabe weiter nach rechts verschoben habe.
Aber wiederholen kann ich Bild2 nicht.
Dateianhänge
Bild1.png
Bild1.png (147.59 KiB) 2730 mal betrachtet
Bild2.png
Bild2.png (122.06 KiB) 2730 mal betrachtet

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Do 25. Feb 2021, 21:03

Hallo nitja
Alle Meldungen meinerseits über über ein Nichtfunktionieren Deines Makros werden ab sofort konfisziert.
Es FUNKTIONIERT.
Ich habe offentsichtlich beim Prüfen der letzten Änderungen nicht lange genug auf das Ergebnis gewartet.
Ich werde mich aber noch einmal melden, weil ich kleinere Wünsche, die Darstellung betreffent, hätte.
Servus

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten