🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

gelöst; variable Zellenzahl ermitteln

Alles zur Programmierung im LibreOffice.
natal
Beiträge: 120
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Fr 22. Jan 2021, 18:12

Hi craig
Bild1 zeigt Dir den Inhalt des derzeitigen Ha-Ordners und Bild2 das Ergebnis des
Testmakros mit diesem Inhalt.
Der Unterschied der beiden Testmakros liegt in den Dateierweiterungen der beiden Hans_Meerkatz-Dateien .csv und .csv.ots

Gruß
Dateianhänge
Bild1.png
Bild1.png (38.62 KiB) 2029 mal betrachtet
Bild2.png
Bild2.png (67.81 KiB) 2029 mal betrachtet

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Fr 22. Jan 2021, 18:41

Hallo Natal,

genau das wollte ich sehen. Danke.

Die URL der Messagebox sollte auch in meinem Makro stehen.

libPolar → modCSVImport → CSV_DATEN importieren
Zeile 67

Code: Alles auswählen

sUrl="file:///home/servus/Schreibtisch/Ha/"
Auch den Slash (/) hinter Ha mitangeben!

Hier ein Video wie der Makroablauf bei mir aussieht:
https://c.web.de/@693152299987503749/z7 ... NuCSE0drBA
  1. Wie im Video zu sehen ist, öffnest Du die Dokumentvorlage per:
    Menü Datei → Dokumentvorlage verwalten...
  2. die Vorlage auswählen und öffnen.
Das sollte genauso wie im Video gezeigt funktionieren.

Hinweis:
Wenn Du Dir das Video Online ansiehst, dann schaltet bitte in den
Vollbildmodus um, sonst siehst Du die Titelleiste nicht.
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Di 26. Jan 2021, 15:17

Hallo craig
Leider war ich in den letzten Tagen verhindert, mich mit dem Thema zu beschäftigen.
Solltest Du noch Zeit und Lust haben, Dich mit meinen Problemen herumzuschlagen,
dann könnten wir wieder weitermachen.
Ich habe auch am PC etwas herumgebastelt, so dass ich Basic in IDE neu installieren mußte.
Den Modul, den ich installiert habe, entspricht Deinem Link download/file.php?id=11261 (von craig » Do 14. Jan 2021, 22:05)
und mit dem Link download/file.php?id=11260 war auch die Installation kein Problem.
In dem Video viewtopic.php?f=12&t=33154&start=90#p87188 hat die von Dir ausgewählte Vorlage den Namen Dokuvorlage_20210120_v05 , die Vorlage die ich benütze lautet Dokuvorlage_20210117_v04.ots.
Ist das von Bedeutung?
Wenn ich meine Vorlage öffne, dann lande ich auf einer gelb unterlegten Anleitung von Dir und nicht auf einer Hans_Meerkatz*.csv Seite.

Wieder ???

Gruß
natal

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Di 26. Jan 2021, 16:53

Hallo Natal,
Natal hat geschrieben:Leider war ich in den letzten Tagen verhindert, mich mit dem Thema zu beschäftigen.
Kein Problem.
Natal hat geschrieben:Solltest Du noch Zeit und Lust haben, Dich mit meinen Problemen herumzuschlagen,
dann könnten wir wieder weitermachen.
Ja, auch kein Problem.
Ich würde mich sehr freuen, wenn wir zu einem erfolgreichen Abschluß kommen würden.
Dir ausgewählte Vorlage den Namen Dokuvorlage_20210120_v05 , die Vorlage die ich benütze lautet Dokuvorlage_20210117_v04.ots.
Ist das von Bedeutung?
So eine Ferndiagnose, ohne einen direkten Einblick zu haben ist immer
etwas tricky und fordert beiderseits ein gutes Maß an Geduld.
Ich bin ein sehr geduldiger Mensch. 8-)
Deshalb sollten wir beide immer mit den gleichen, bzw. denselben
Dateien, Makros, usw. arbeiten, sonst kann es schnell passieren,
dass wir aneinander vorbeireden/-arbeiten.
Des Weiteren antworte ich immer Punkt für Punkt und bin stehts
bemüht hierbei die richtige Reihenfolge einzuhalten, damit dies
exakt so abgearbeitet werden kann.
somit wie folgt:
  1. Nutze die Dokuvorlage Dokuvorlage_20210120_v05.ots
    Dokuvorlage_20210120_v05.ots.zip
    (17.25 KiB) 88-mal heruntergeladen
    und wie immer NICHT entpacken, sondern nur umbenennen
    von:
    Dokuvorlage_20210120_v05.ots.zip
    in:
    Dokuvorlage_20210120_v05.ots
  2. Natal hat geschrieben:download/file.php?id=11261 (von craig » Do 14. Jan 2021, 22:05)
    Diese Basic-Quellcode-Datei wurde noch nicht an Dein System angepasst
    1. Zeile 67: enhält die falsche URL
    2. Die Filteroptionen in Zeile 123 zum Öffnen der CSV-Datei müssen angepasst werden
      • Wenn Komma, dann 44
        mFileProps(1).Name = "FilterOptions" : mFileProps(1).Value = "44
      • Wenn Semikolon, dann 59
        mFileProps(1).Name = "FilterOptions" : mFileProps(1).Value = "59
Natal hat geschrieben:Wenn ich meine Vorlage öffne, dann lande ich auf einer gelb unterlegten Anleitung von Dir und nicht auf einer Hans_Meerkatz*.csv Seite.
Was steht denn in der Calc-Titelleiste:
  1. Der Name der Dokuvorlage
  2. oder Unbenannt...
Wenn ich bei mir die Dokuvorlage Dokuvorlage_20210117_v04.ots öffne,
dann steht dort Unbenannt....
Der Grund dafür ist, dass die gelb unterlegten Anleitungen sichtbar sind,
dass diese Anleitungen in der Dokuvorlage selbst gespeichert sind. Sie sind nicht Ergebnis des Makros,
sondern des Ladens der Dokuvorlage.
Es ist also in gewisser Weise ein Trugschluß.
Um dies zuvermeiden, muss die Dokuvorlage als Dokumentvorlage geöffnet und bearbeitet werden.
Menü Datei → Dokumentvorlage öffnen...
Hier kann dann die Vorlage bearbeitet werden:
Textfelder löschen, Zellformatierungen setzen, sonstige Inhalte ändern, etc.
Dann speichern und beim nächsten Aufruf der Vorlage per:
Menü Datei → Dokumentvorlagen → Dokumentvorlage verwalten...
wird ein neues Dokument generiert. In der Titelleiste sieht man dann z.B.
Unbenannt 1 - LibreOffice Calc
Fazit:
Lass Dich nicht von der Office-Logik verwirren :idea:

------------------------------------------
Zusammenfassung:
  1. Im Objektkatalog der Basic-IDE sollte eine Bibliothek namens LibPolar vorhanden sein
  2. In der Bibliothek LibPolar solte ein Modul namens modCSVImport gespeichert sein.
  3. Das Modul modCSVImport sollte die Sub-Routine/ das Makro [CSV_DATEN importieren] enthalten.
    1. Die URL in Zeile 67 muss passen :!:
    2. Die Filteroption in Zeile 123 muss mit Deiner Hans_Meerkatz Datei übereinstimmen :!:
  4. sind die Punkte abgearbeitet, dann kannst Du die Dokuvorlage öffnen:
    Menü Datei → Dokumentvorlagen → Dokumentvorlage verwalten...
    Wähle hier nun:
    Dokuvorlage_20210120_v05.ots


Viel Erfolg, ich bin gespannt :D
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mi 27. Jan 2021, 15:12

Hallo craig

Hier meine Zwischenergebnisse zur Kontrolle.

Bild1: geänderte Zeile 67
Bild2: Zeile 123 verlangt Semikolon
Bild3: Hans_Meerkatz*.csv Datei im Ordner Ha getrennt mit Semikolon

Bild4 & 5 & 6 folgen in neuer Antwort

Bild4: Deine neue Vorlage
Bild5: die Dokuvorlage nach Öffnen über
Dokumentenvorlage verwalten→Dokuvorlage anklicken→Öffnen→Makrowarnung mit OK
bestätigen

Bild6: Dokuvorlage geöffnet, ohne den Zwischenschritt über Dokumentenvorlage verwalten



Servus
Dateianhänge
Bild1.png
Bild1.png (81.61 KiB) 1936 mal betrachtet
Bild2.png
Bild2.png (96.72 KiB) 1936 mal betrachtet
Bild3.png
Bild3.png (61.38 KiB) 1936 mal betrachtet

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mi 27. Jan 2021, 15:14

Bild4 & 5 & 6
Dateianhänge
Bild4.png
Bild4.png (35.3 KiB) 1935 mal betrachtet
Bild5.png
Bild5.png (68.26 KiB) 1935 mal betrachtet
Bild6.png
Bild6.png (70.52 KiB) 1935 mal betrachtet

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Mi 27. Jan 2021, 15:19

Hallo Natal,

Bild 3 zeigt eindeutig, dass die Filteroption in Zeile 123 falsch gesetzt ist.
Ich sehe dort KEIN Semikolon ( ; ), sondern Komma ( , ).

Das erste Token in Zeile 123 MUSS die Ziffer 44 sein.
59 ist falsch!
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mi 27. Jan 2021, 18:34

Hi craig
ich versuche die Zeile 123 zu verstehen

mFileProps(1).Name = "FilterOptions" : mFileProps(1).Value = "59,34,76,1,,0,false,true,true,false"

Ich sehe als erste Zahl “59“ also Semikola

Zeile 120: ' der erste Token (59) der Filteroptionen gibt den Datenfeld-Separator an:
Zeile 122: ' Semikola = 59

Was verstehe ich falsch oder woran sollte ich erkennen können, dass "44" also Kommata, zu wählen ist?
Oder hast Du gemeint, ich hätte die Zahl "59" durch "44" ersetzen sollen?

Gruß

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Mi 27. Jan 2021, 20:53

Hallo Natal,
Natal hat geschrieben:Oder hast Du gemeint, ich hätte die Zahl "59" durch "44" ersetzen sollen?
Ja.

Öffne die Hans_Meerkatz...csv mit einem Texteditor, also nicht mir Office.
Hans-Meerkatz mit Texteditor geöffnet: hat geschrieben: Name,Sport,Date,Start time,Duration,Total distance (km),Average heart rate (bpm),Average speed (km/h),Max speed (km/h),Average pace (min/km),Max pace (min/km),Calories,Fat percentage of calories(%),Average cadence (rpm),Average stride length (cm),Running index,Training load,Ascent (m),Descent (m),Average power (W),Max power (W),Notes,Height (cm),Weight (kg),HR max,HR sit,VO2max
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,,,,,,,,,,,,,,,,,,,,,,,,
Hier siehst Du, dass auschließlich Kommas/ Kommata für die Feldtrennung verwendet werden.
Jedes Komma "erzeugt" beim Import in Calc eine neue Spalte, bzw. eine neues Feld innerhalb eines Datensatzes.
  • Ein Datensatz = eine Zeile
  • Ein Feld = eine Spalte, bzw. ein einzelnes Feld innerhalb eines Datensatzes.
Beispiel:
Vorname, Nachname, Wohnort
Max,Mustermann,Rom

Daraus wird in Calc dies:
CSV-Textimport.jpg
CSV-Textimport.jpg (23.94 KiB) 1930 mal betrachtet
[]
Ergebnis des Textimports
Ergebnis des Textimports
CSV-Resultat des Textimports in Calc-Tabelle.jpg (17.99 KiB) 1930 mal betrachtet
Bild 1 "CSV-Textimport.jpg" wirst Du beim Ablauf des Makros nicht sehen,
eben weil der Textimportfilter (Zeil 123) die notwendigen Daten vorgibt.
Deshalb ist das erste Token wichtig, weil hier angegeben wird, ob
ein Komma oder ein Semikolon als Feldtrenner gelten soll.

mFileProps(1).Value = "44,34,76,1,,0,false,true,true,false"

Dokumentation der Filteroptionen (Token's)
  • Token 1 = 44 =
    Trennzeichen der einzelnen Felder (Komma oder Semikolon)
  • Token 2 = 34 =
    Das Texttrennzeichen als ASCII-Wert, dh 34 für doppelte Anführungszeichen und 39 für einfache Anführungszeichen.
  • Token 3 = 76 =
    Der in der Datei verwendete Zeichensatz wie oben beschrieben.
    Entspricht Unicode UTF-8
  • Token 4 = 1
    Nummer der ersten zu konvertierenden Zeile. Die erste Zeile in der Datei hat die Nummer 1.
  • Token 5 = "keine Angabe"
    Feldformat z.B.: MM/DD/YY
    Es macht aber keinen Sinn hier ein Format anzugeben, weil bei Dir die Felder
    unterschiedliche Inhalte haben, also nicht immer vom Datentyp "Datum" sind.
  • Token 6 = 0
    Wenn der Wert 0 ist oder weggelassen wird, wird die Sprachkennung der Benutzeroberfläche verwendet.
  • Token 7 = false → für den Import
    1. Token 7: Beim CSV-Import
      Dieses Token entspricht dem Kontrollkästchen "Feld als Text angegeben".
      Zeichenfolge, entweder false oder true.
      Standardwert: false.
    2. Token 7: Beim CSV-Export
      Dieses Token entspricht dem Kontrollkästchen "Alle Textzellen zitieren".
      Zeichenfolge, entweder false oder true.
      Standardwert: false.
  • Token 8 = true→ für den Import
    Dieses Token entspricht dem Kontrollkästchen "Sondernummern erkennen".
    1. Token 8: Beim CSV-Import
      Dieses Token entspricht dem Kontrollkästchen "Feld als Text angegeben".
      Zeichenfolge, entweder false oder true.
      Standardwert: false.
    2. Token 8: Beim CSV-Export
      Dieses Token hat kein UI-Äquivalent.
      Wenn true, werden die Zahlenzellen als Zahlen gespeichert.
      Wenn false, werden die Zahlen als Text (Ziffern) mit Texttrennzeichen gespeichert.
      Standardwert: true.
  • Token 9 = false (da CSV-Import, könnte dieses token auch entfallen) → für den Import
    Dieses Token entspricht dem Kontrollkästchen "Sondernummern erkennen".
    1. Token 9: Beim CSV-Import
      Nicht verwendet: Es werden nur 8 Token verwendet. → beim Import
    2. Token 9: Beim CSV-Export
      Dieses Token entspricht dem Kontrollkästchen "Zelleninhalt wie gezeigt speichern".
      Zeichenfolge, entweder false oder true.
      Standardwert: true.
  • Token 10 = false
    Ich habe die Filteroptionen irgendwann aus dem Netz kopiert,
    warum dort ein zehntes Token angegeben wurde weiß ich nicht.
    Ich konnte auch keine Informationen zum zehnten Token finden.
    Es führt bei mir beim CSV-Import zu keinem Fehler, deshalb habe ich es nicht entfernt.
Oben die ausführliche Filterinfo und hier eine Calc-Datei
wie die CVS-Filteroptionen in meinem Makro gesetzt wurden:
CSV-Filteroptionen in Kurzform.ods
(12.68 KiB) 130-mal heruntergeladen
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

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

Re: variable Zellenzahl ermitteln

Beitrag von natal » Do 28. Jan 2021, 16:37

Hallo craig
Bild1 zeigt Dir den geänderten Makromodul und Bild2 die nach Komma separierte CSV-Datei im Ordner Ha.

Wenn ich über Dokuvorlage→Dokumentenvorlage verwalten→die Dokuvorlage_20210120_v05.ots auswähle→Öffnen→Makroausführung mit OK erlaube→
dann lande ich auf Bild3 und der Ablauf stoppt.
In Deinem Video sollte aber anstelle von Bild3 mit Fensternamen Unbenannt – LibreOffice Calc zuerst ein Fenster mit Namen Hans_Meerkatz*.csv – LibreOffice Calc und dann erst nach Anklicken des Fensternamens Hans_Meerkatz*.csv – LibreOffice Calc ein Fenster mit Namen Unbenannt – LibreOffice Calc aber mit Inhalt erscheinen.

Ich sehe gerade, meine Dokuvorlage im Fenster Vorlagen verwalten hat eine Dateierweiterung .ots , die Dokuvorlage in Deinem Video hat keine Dateierweiterung. ??


Wo klemmst dieses Mal?

Gruß
Natal
Dateianhänge
Bild1.png
Bild1.png (99 KiB) 1907 mal betrachtet
Bild2.png
Bild2.png (58.88 KiB) 1907 mal betrachtet
Bild3.png
Bild3.png (67.98 KiB) 1907 mal betrachtet


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten