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 » So 17. Jan 2021, 17:14

craig hat geschrieben:
So 17. Jan 2021, 16:58
… ich habe nun den Eindruck, als würdest Du nun den Dialog zwischen mir und Natal absichtlich torpedieren.
Unsinn. Die Frage nach Extension oder halt auch Bibliothek meine ich absolut ernst. Kläre mich bitte über die Vorteile auf gegenüber einem simplen Makro ohne großen Installationsbedarf.
craig hat geschrieben:
So 17. Jan 2021, 16:58
Der Vollständigkeit wegen:
Dir_(Kommandozeilenbefehl)
Und? Da steht nix anderes. Übrigens ist CP/M älter als MS-DOS. (Der Vollständigkeit halber: war eine Antwort an Wanderer, nicht an Dich.)
craig hat geschrieben:
So 17. Jan 2021, 16:58
… Gerade nochmal getestet.
Ergebnis:
Es wird keine Fehlermeldung ausgelöst wenn das Filter-Token
falsch gesetzt wurde, aber die Daten werden nicht eingelesen.
Was getestet? Beim Import dürfte es keine Rolle spielen, da in den csv-Dateien von Polar kein Semikolon vorkommt. Müsste also eingelesen werden.
craig hat geschrieben:
So 17. Jan 2021, 16:58
Ende der Durchsage.
Was soll das!?
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » So 17. Jan 2021, 20:43

Hallo Natal,
Natal hat geschrieben:Mit Deinem Hinweis auf Zeile 123 “Kommata“ und “Semikola“ wolltest Du mich daran erinnern, dass beim Herunterladen der CSV-Datei diese beiden Button angewählt sein sollen (Bild2). Richtig?
Nein.
  • Du lädst die Datei herunter und speicherst sie in dem Ordner welcher in meinem Makro (Zeile 67) steht.
  • Dann öffnest Du ein neues Dokument auf Basis der Dokumentvorlage.
    z.B.:
    Menü Dokumentvorlagen → Dokumentvorlagen verwalten...
  • Dann die gewünschte Vorlage, im jetzigen Fall meine Dokuvorlage öffnen.
  • ab hier verläuft alles automatisch
Info:
Der Code ist so gestaltet, dass das Textimport-Fenster nicht erscheint,
weil Du doch eine weitgehend automatisierte Arbeit wolltest.
Aus diesem Grund muss das Filter-Token (Komma oder Selmikolon) im Code wie beschrieben geändert werden.

Wenn Du nicht sicher ist, ob es Komma oder Semikolon ist, dann öffne die CSV-Datei zuvor in einem Texteditor.
Komma separiert sieht so aus:

Code: Alles auswählen

Hans Meerkatz,RUNNING,20-11-2020,08:53:19,10:59:28,0.00,72,,,,,1254,58,,,,,,,,,,176.0,69.0,,,
Sample rate,Time,HR (bpm),Speed (km/h),Pace (min/km),Cadence,Altitude (m),Stride length (m),Distances (m),Temperatures (C),Power (W),,,,,,,,,,,,,,,,
1,00:00:00,92,,,,,,,,,,,,,,,,,,,,,,,,
,00:00:01,92,,,,,,,,,,,,,,,,,,,,,,,,
,00:00:02,91,,,,,,,,,,,,,,,,,,,,,,,,
,00:00:03,89,,,,,,,,,,,,,,,,,,,,,,,,
,00:00:04,87,,,,,,,,,,,,,,,,,,,,,,,,
Jedes Komma ein Datenfeld/ eine Spalte.
Demnach muss das erste Token in der Codezeile 123 auf 44 stehen:
mFileProps(1).Name = "FilterOptions" : mFileProps(1).Value = "44,34,76,1,,0,false,true,true,false"
Natal hat geschrieben:Wo ich mir jetzt nicht sicher bin, ist bei der Einrichtung der Dokuvorlage.
* Die Dokuvorlage mit dem Namen Dokuvorlage_20210116_v03.ots ist vorhanden.
Allerdings wird die Endung .ots automatisch immer verdoppelt (.ots.ots) (Bild3).
Keine Ahnung wie dies zustande kommt.
Was passiert, wenn Du die Datei im Vorlagenordner umbenennst in:
Dokuvorlage_20210116_v03.ots
bzw in (siehe weiter unten eine neue Version):
Dokuvorlage_20210117_v04.ots

Die Funktion ist auch gegeben wenn zweimal .ots erscheint.
Nirgends im Code gibt es einen Bezug auf diese Datei, damit ist es egal welcher Name für die Vorlage vergeben wurde.
Es ist halt nur unschön mit .ots.ots
Natal hat geschrieben:* wenn ich die Dokuvorlage öffne und Makros aktivieren klicke, wird mir zur Zeit Deine Anleitung (gelb hinterlegt) gezeigt und unter Extras < Anpassen wird nicht die Zeile Neues Dokument markiert (Bild4).

Sollte das so sein?
Ich könnte mir vorstellen, dass bei einem automatischen Ablauf die Zeile Neues Dokument mit den darin gespeicherten Daten markiert d. h. aufgerufen wird.
Öffnet man Menü Extras → Anpassen → Ereignisse ist immer „Programmstart“ markiert. Es spielt keine Rolle wo sich die Markierung befindet, sondern ob in Deinem Fall die Option „Neues Dokument“ über die korrekte Makro-Pfadangabe verfügt. Deshalb habe ich diese Option markiert, einfach um diesen Punkt hervorzuheben.

Wenn Du mal selbst einem Ereignis ein Makro zuweisen möchtest, dann musst Du selbstverständlich das gewünschte Ereignis zuvor markieren und dann auf den Button „Makro...“ klicken.

--------------------------------
Es war gestern wirklich zu spät für mich. Das Makro in der Dokuvorlage ist überflüssig, weil es nicht abgearbeitet wird. Ich habe das Modul in der Dokumentvorlage gelöscht.
Info:
Den Dokumenttitel (Menü Datei → Eigenschaften → Beschreibung) habe ich von „Polar“ in „Polar 17.01.2021“ geändert.

Hier nun die geänderte Version:
Dokuvorlage_20210117_v04.ots.zip
(59.37 KiB) 86-mal heruntergeladen
NICHT entpacken, wieder nur .zip entfernen.

zusätzlich eine Komma separierte CSV-Datei
Hans_Meerkatz_2022-01-04_08-53-19-7.csv.zip
(1.44 MiB) 71-mal heruntergeladen
NICHT entpacken, wieder nur .zip entfernen.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Di 19. Jan 2021, 13:02

Hallo craig
Leider kann ich Dir keinen Erfolg melden.
Ich habe inzwischen auch schon viel herumgespielt und versucht die Ursache (Ursachen) für das Nichtfunktionieren zu finden, leider erfolglos.

Wenn ich mich an Deine Vorgaben halte:
Du lädst die Datei herunter und speicherst sie in dem Ordner welcher in meinem Makro (Zeile 67) steht.
Dann öffnest Du ein neues Dokument auf Basis der Dokumentvorlage.
z.B.:
Menü Dokumentvorlagen → Dokumentvorlagen verwalten...
Dann die gewünschte Vorlage, im jetzigen Fall meine Dokuvorlage öffnen.
ab hier verläuft alles automatisch
dann stoppt der Ablauf nach Dokuvorlage öffnen und ich werde gefragt Makros deaktivieren oder Makros aktivieren.
Wähle ich Makros aktivieren dann bekomme ich die Meldung Bild1 und es wird nur Deine Dokuvorlage Dokuvorlage_20210117_v04.ots angezeigt.
Klicke ich in Bild1 auf OK, dann kommt die Meldung Bild2 und der Programmablauf stoppt bei Zeile 132 (Bild3).
Ich schließe daraus, das Programm kann die Daten der CSV-Datei sUrl="file:///home/servus/Schreibtisch/Ha" zwar öffnen aber nicht kopieren (übernehmen).

Was ich bemerkt habe, ob es bedeutend ist weis ich nicht, in Deiner Dokuvorlage Dokuvorlage_20210117_v04.ots befindet sich auch eine Kopie des Fensters Anpassen.
In dem Fenster gibt es am Ende die Zeile Speichern in: mit dem Eintrag einer älteren Dokuvorlage.
Wenn ich Anpassen aufrufe, wird unter Neues Dokument kein Eintrag angezeigt, obwohl ich schon mehrere Male über Zuweisen →Makro den Eintrag libPolar.modCSVImport.CSV_Daten importieren eingefügt und mit OK bestätigt habe.
In der Zeile Speicher in: wird auch kein Eintrag Dokuvorlage_20210117_v04.ots aufgeführt, ich kann nur zwischen LibreOffice und Unbenannt1 wählen.
Hat das eine Bedeutung?
Gruß
natal
Dateianhänge
Bild1.png
Bild1.png (9.59 KiB) 984 mal betrachtet
Bild2.png
Bild2.png (6.93 KiB) 984 mal betrachtet
Bild3.png
Bild3.png (94.14 KiB) 984 mal betrachtet

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Di 19. Jan 2021, 14:29

Hallo Natal,

die Benutzerrechte müssen selbstverständlich vorhanden sein.
file:///home/servus/Schreibtisch/Ha
Wenn die Rechte nicht vorhanden sind, dann kann auch alles andere nicht funktionieren,
d.h. auch, dass die Objektvariable "oDocCSV" und in Folge auch "oSheet" leer ist.
https://wiki.ubuntuusers.de/Rechte/ hat geschrieben:

Code: Alles auswählen

Mögliche Werte für:
					chmod (octal) 	umask (octal) 	Symbolisch 	Binäre Entsprechung
Lesen, schreiben und ausführen 		7 		0 		rwx 			111 
Natal hat geschrieben:es wird nur Deine Dokuvorlage Dokuvorlage_20210117_v04.ots angezeigt.
Wenn Du die Vorlage als neues Dokument öffnest, was steht dann in der Titelleiste von Office:
  1. → die Dokuvorlage ist als Vorlage geöffnet:
    Titelleiste Dokuvorlage.jpg
    Titelleiste Dokuvorlage.jpg (9.87 KiB) 982 mal betrachtet
  2. → aus der Vorlage wurde ein neues Dokument generiert:
    Titelleiste Unbenannt xxx.jpg
    Titelleiste Unbenannt xxx.jpg (8.18 KiB) 982 mal betrachtet
So sollte es sein:
  1. Es wird ein neues Dokument erzeugt → Titelleiste = #2
  2. die CSV-Datei wird sichtbar geöffnet, vorausgesetzt dass die Benutzerrechte vorhanden sind :!:
  3. die Daten werden eingelesen
  4. die CSV wird geschlossen
  5. Makro Ende
Natal hat geschrieben:In dem Fenster gibt es am Ende die Zeile Speichern in: mit dem Eintrag einer älteren Dokuvorlage.
Stimmmt, dies habe ich vergessen zu aktualisieren.
Dokuvorlage_20210117_v04.ots wäre hier richtig.
Natal hat geschrieben:In der Zeile Speicher in: wird auch kein Eintrag Dokuvorlage_20210117_v04.ots aufgeführt, ich kann nur zwischen LibreOffice und Unbenannt1 wählen.
Hat das eine Bedeutung?
JA, unbedingt.
Du hast hier nicht die Vorlage selbst geöffnet, sondern ein neues Dokument auf Basis der Vorlage erzeugt.
Ich hatte zuvor schon beschrieben, dass es zwei Methoden im Umgang mit Vorlagen gibt.
Wenn Du die Vorlage selbst ändern willst, dann siehe Screenshot nebst Beschreibung im gelben Textfeld:
Menü Extras Anpassen Ereignisse.jpg
Menü Extras Anpassen Ereignisse.jpg (51.49 KiB) 982 mal betrachtet
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mi 20. Jan 2021, 17:28

Hallo craig
Am Ablauf der Fehlermeldungen, wie in meiner letzte Antwort beschrieben, hat sich leider nichts geändert.

Ich habe mir noch eimal alle Einstellmöglichkeiten meinerseits angesehen:

Die Datei Hans_Meerkatz_2021-01-05_22-38-33.csv im Ordner Ha hat alle Berechtigungen (Bild1).
Die Dokuvorlage Dokuvorlage_20210117_v04.ots hat alle Brechtigungen (Bild2)
Auch das Fenster Anpassen hat alle notwendigen Daten (Bild3).
Die Daten der CSV-Datei sind mit Semikolon getrennt.

Mehr Einstellmöglichkeiten habe ich doch nicht, oder?

Aber gerade sehe ich eine mögliche Ungereimtheit.
Du hast geschrieben, dass Du den Dokument-Titel der Vorlage umbenannt hast (Bild4),
Wenn ich die Dokuvorlage aufrufe, erscheint sie immer noch mit dem Namen Dokuvorlage_20210117_v04.ots.ots.
Kann das so bleiben?

Gruß
natal
Dateianhänge
Bild1.png
Bild1.png (33.81 KiB) 971 mal betrachtet
Bild2.png
Bild2.png (33.12 KiB) 971 mal betrachtet
Bild3.png
Bild3.png (74.17 KiB) 971 mal betrachtet
Bild4.png
Bild4.png (5.51 KiB) 971 mal betrachtet

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Mi 20. Jan 2021, 18:56

Hallo Natal,

das ändern des Dokumenttitels hat z.B. den Vorteil, dass in der
Dokumentvorschau der Titel der Vorlagendatei angezeigt:
Der Titel ist einstellbar unter:
Menü Datei → Eigenschaften…
Register → Beschreibung → Titel


Damit Du erkennst was ich meine:
Menü Datei → Dokumentvorlagen → Dokumentvorlage verwalten...
Schalte im Fenster „Vorlagen verwalten“ den Filter auf „Tabellendokumente“ oder „Alle Anwendungen“, dann wird Dir der Dokumenttitel angezeigt, sofern einer vergeben wurde.
Der Titel Polar 17.01.2021 ist die Vorlage, mit der Du nun arbeiten solltest.
Natal hat geschrieben:Am Ablauf der Fehlermeldungen, wie in meiner letzte Antwort beschrieben, hat sich leider nichts geändert.
Dann werden wir uns mal von einer anderen Seite an das Problem herantasten:
  1. Öffne zuerst die CSV-Datei.
  2. Menü Extras →Makros → Makros verwalten → Basic...
  3. Markiere in der linken Listbox die CSV-Datei.
  4. Button „Neu…“
  5. Im nächsten Fenster das „Modul1“ mit OK bestätigen.
  6. es öffnet sich die Basic-IDE
  7. Lösche den vorgefertigten Text aus “Modul1“ und kopiere nachfolgenden Code in das Modulfenster:

    Code: Alles auswählen

    Sub Test
    Msgbox Thiscomponent.Url
    End Sub
  8. Führe den Code aus, es wird eine Messagebox mit der korrekten URL der CSV-Datei angezeigt.
    Wenn die URL ein oder mehrere %20 enthält, dann befindet sich in der URL ein Leerzeichen!
    Damit die URL im Makro passt müssen Leerzeichen auch mit %20 angegeben werden:
    z.B.: sUrl="File:///Home/%20zuhause/
  9. Erzeuge einen Screenshot von der Messagebox und lade diesen hoch.
Bitte führe die Schritte auch mit der Dokumentvorlage aus.
Die Vorlage muss hierbei unbedingt als Dokumentvorlage geöffnet werden.
Menü Datei → Dokumentvorlagen → Dokumentvorlage öffnen…
Wähle im sich öffnenden Fenster/ Filepicker die Datei:
Dokuvorlage_20210117_v04.ots
bzw bei Dir:
Dokuvorlage_20210117_v04.ots.ots


Überprüfe jetzt die URL der CSV-Datei, welche Du in meinem Makro eingestellt
hast, mit der URL welche die Messagebox angezeigt hat.
In jedem Fall ist die URL der Messagebox die richtige URL.
Also hier meinen Code ggf. ändern und einen neuen Test starten.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Do 21. Jan 2021, 12:13

Hi craig

Unter Menü Datei → Dokumentvorlagen → Dokumentvorlage verwalten→Tabellendokumente
war nur die Dokuvorlage mit der alten Bezeichnung gespeichert.
Ich habe sie jetzt zusätzlich unter dem neuen Namen abgelegt (Bild1).

Wenn ich Menü Extras →Makros → Makros verwalten → Basic…und die CSV-Datei markiere , gibt es keinen Button “Neu“.
Dazu muß ich zuerst auf “Verwalten“ klicken, dann gibt es die Option “Neu“ (Bild2).
Wenn ich “Modul1“ mit OK bestätige, dann wird mir nicht die Basic-IDE gezeigt sondern Zustand Bild3.

Ich belasse es jetzt bei dieser Kurzantwort und warte auf Deine Antwort, um nicht irgendwelche Fehleingaben zu machen.

Gruß
natal
Dateianhänge
Bild1.png
Bild1.png (29.02 KiB) 949 mal betrachtet
Bild2.png
Bild2.png (104.37 KiB) 949 mal betrachtet
Bild3.png
Bild3.png (82.11 KiB) 949 mal betrachtet

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Do 21. Jan 2021, 12:32

Hallo Natal,

hier auch eine Kurzversion:
  1. Öffne die Hans_Meerkatz*.csv in Calc,
  2. Menü Extras →Makros → Makros verwalten → Basic...
  3. Markiere in der linken Listbox die CSV-Datei.
  4. Button „Neu…“
  5. Im nächsten Fenster das „Modul1“ mit OK bestätigen.
  6. Es öffnet sich die Basic-IDE
  7. Lösche den vorgefertigten Text aus “Modul1“ und kopiere nachfolgenden Code in das Modulfenster:

    Code: Alles auswählen

    Sub Test
    Msgbox Thiscomponent.Url
    End Sub
  8. Führe den Code aus, es wird eine Messagebox mit der korrekten URL der CSV-Datei angezeigt.
    Wenn die URL ein oder mehrere %20 enthält, dann befindet sich in der URL ein Leerzeichen!
    Damit die URL im Makro passt müssen Leerzeichen auch mit %20 angegeben werden:
    z.B.: sUrl="File:///Home/%20zuhause/
  9. Erzeuge einen Screenshot von der Messagebox und lade diesen hoch.
In Deinem letzten Screenshot ist die Hans_Meerkatz*.csv nicht aufgelistet:
In der Liste fehlt Hans_Meerkatz.JPG
In der Liste fehlt Hans_Meerkatz.JPG (18.19 KiB) 947 mal betrachtet
In erster Linie geht es genau um diese Datei, zwecks Ermittlung der korrekten URL.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Fr 22. Jan 2021, 15:20

Hallo craig
Es hat länger gedauert, bis ich meine Eingabefehler gefunden habe.
Als Anhang findest Du jetzt das Ergebnis Deines Testmakros.
Gruß
natal
Dateianhänge
Testergebnis.png
Testergebnis.png (64.63 KiB) 926 mal betrachtet

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Fr 22. Jan 2021, 16:37

Hallo Natal,

Deiner Aussage nach, sollte sich die CSV-Datei:
Hans_Meerkatz*.csv
in diesem Ordner befinden:
file:///home/servus/Schreibtisch/Ha

Der Screenshot der Messagebox besagt aber was anderes:
  1. Es handelt sich NICHT um eine CSV-Datei, sondern gemäß Dateiendungum um eine Vorlagendatei.
    Dies ist falsch.
  2. Die Datei befindet sich nicht im Ordner:
    file:///home/servus/Schreibtisch/Ha
    sondern in Deinem Vorlagen-Ordner.
    Dies ist falsch.
Was befindet sich im Ordner?
file:///home/servus/Schreibtisch/Ha

Wenn es eine Hans_Meerkatz*.csv in diesem Ordner gibt,
dann bitte diese Datei mit Calc öffnen und die Schritte aus meinem vorherigen
Post wiederholen und den Screenshot der Messagebox hier hochladen.

Sollte sich keine Hans_Meerkatz*.csv in diesem Ordner befinden,
dann kopiere eine Hans_Meerkatz*.csv in diesen Ordner
und wiederhole die Schritte aus meinem vorherigen Post und
lade den Screenshot der Messagebox hier hoch.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

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