🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ 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. 🤗

Stichwortverzeichnis / Register über eine vorhandene Tabelle

Alles zur Programmierung im LibreOffice.
anton
Beiträge: 59
Registriert: Di 10. Jul 2012, 11:37

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von anton » Mi 1. Jan 2025, 15:18

Gut, ich versuche eine Programmbeschreibung.

Vorhandene Writer-Tabelle:
Je Tabellenzeile -
Spalte 1: Nummer des Titels
Spalte 2: Beteiligte - also Schauspieler ...
Spalte 3: Titelname; in der ersten Zeile; die folgenden Zeilen enthalten eine Inhaltsbeschreibung.
--- Nur die erste Zeile soll verwendet werden.
Spalte 4: Zeitangabe zur Länge des Films.

Das Programm soll:
Die Writer-Tabelle verwenden und Teile des Inhalts zur Bildung neuer Tabellen verwenden.

Verwende die Spalten 1, 2 und 3 der vorhandenen Writer-Tabelle und speichere deren Inhalt in Variablen.
Spalte 1: nur ein Eintrag - die NUMMER als Ziffernfolge.
Spalte 2: mehrere Zeilen, JE ZEILE ein NAME, der auch aus mehreren Worten bestehen kann.
Spalte 3: bilde NUR aus der ERSTEN ZEILE den TITEL

Je NAME: eine Tabellenzeile einer neuen Tabelle aus NAME, TITEL und NUMMER bilden.

Somit entsteht eine neue Tabelle mit je Tabellenzeile
Spalte 1n: NAME Spalte 2n: TITEL Spalte 3n: NUMMER

Diese neue Tabelle soll anschließend sortiert werden nach
Spalte 1n: NAME Je NAME dann Spalte 2n: sortiert nach Titel

Eine weitere Sortierung der neuen Tabelle in einer weiteren Liste sortiert nach
Spalte 2n: TITEL

Das wäre der erste Schritt.

In einer Verfeinerung soll:
Der aus der Spalte 2: ermittelte NAME mit einer vorgegebenen Liste von zu "verwendenden Namen" verglichen werden und nur der NAME, der in der Liste vorkommt, soll für die Bildung der neuen Tabelle verwendet werden.

Das wäre der Versuch einer Beschreibung des Programms.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von F3K Total » Mi 1. Jan 2025, 17:40

Es gibt zig professionelle Programmierer auf dieser Welt.
Lösung für dein Problem: Beauftrage einen, oder lerne das Programmieren selbst.
Zuletzt geändert von F3K Total am Fr 3. Jan 2025, 14:48, insgesamt 1-mal geändert.

mikele
* LO-Experte *
Beiträge: 1929
Registriert: Mo 1. Aug 2011, 20:51

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von mikele » Mi 1. Jan 2025, 18:10

Hallo,
sowiet ist das klar. Auch klar ist, dass Texttabellen dafür das falsche Werkzeug sind. Aber es geht schon, wenn auch auch mit einigem Aufwand.
Die grundsätzliche Lösung hat F3K Total dir mit seinem Makro schon geliefert.
Die ausgelesenen Daten müssen nun nur noch in eine neue Tabelle geschrieben werden.
Zweckmäßigerweise würde ich die Daten aber in eine Calc-Datei schreiben, die dann nach herzenlust sortiert und gefiltert werden kann. Anbei mal eine Variation von F3K Total's Beispiel.
Wenn man dann soweit ist, stellt man fest, dass praktisch alle Daten (außer Inhaltsbeschreibung, Länge des Films) in dieser neuen Tabelle landen. Warum also nicht gleich alle Daten in eine Calc-Datei - womit wir wieder am Anfang wären.
Dateianhänge
Tabellenmakro2.odt
(27.3 KiB) 165-mal heruntergeladen
Gruß,
mikele

anton
Beiträge: 59
Registriert: Di 10. Jul 2012, 11:37

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von anton » So 5. Jan 2025, 15:13

Vielen Dank für "Tabellenmakro2.odt", damit habe ich experimentiert und finde es gut.

Jedoch möchte ich jede der Tabellen noch mit einem Thema kennzeichnen, damit der Verweis bei den Nummern in die richtige Tabelle geht.
Deshalb hat die Writer-Tabelle nun eine Zeile mehr, in der dritten Spalte ein Kennzeichen für das Thema.
In der Calc-Tabelle soll die Nummer in der dritten Spalte stehen, gefolgt vom dem Kennzeichen des Themas.

In dem Makro habe ich etwas herumgefummelt, lande aber immer wieder bei einem Fehler, den ich nicht auflösen kann. Mir fehlt die Programmiererfahrung.

Deshalb die Bitte: wie kann ich den Fehler beseitigen?
Siehe "Tabellenmakro2-1.odt"
[attachment=0]Tabellenmakro2-1.odt[/attachmen
Dateianhänge
Tabellenmakro2-1.odt
(26.37 KiB) 180-mal heruntergeladen
Zuletzt geändert von anton am So 5. Jan 2025, 16:12, insgesamt 1-mal geändert.

mikele
* LO-Experte *
Beiträge: 1929
Registriert: Mo 1. Aug 2011, 20:51

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von mikele » So 5. Jan 2025, 16:04

Hallo,
unterhalb des Eingabefeldes findest du den Reiter "Dateianhänge".
Wie aber bereits mehrfach betont: man kann das tun, aber es wird ein aufwändiges (wiederkehrendes) Gefummel.
Einfacher wäre es, die ganzen Daten einmal in ein Calc-Tabelle zu übertragen (je nach Umfang wäre eine Datenbank noch besser - ich hoffe einfach mal, dass es sich nicht um mehrere Zehntausend Einträge handelt). Dann kannst du sie nach Wunsch sortieren, filtern, speziell formatiert ausgeben ...
Gruß,
mikele

anton
Beiträge: 59
Registriert: Di 10. Jul 2012, 11:37

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von anton » So 5. Jan 2025, 16:17

In der Calc-Tabelle müsste ich sehr viel einstellen, die Writer-Tabelle ist schon recht lang geworden.
Mir würde die Makro-Version sehr helfen.
Tabellenmakro2-1.odt
(26.37 KiB) 195-mal heruntergeladen

mikele
* LO-Experte *
Beiträge: 1929
Registriert: Mo 1. Aug 2011, 20:51

Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle

Beitrag von mikele » So 5. Jan 2025, 16:28

Hallo,
entferne die Zeile 27

Code: Alles auswählen

nCounter=nCounter+1 ' ein Versuch, Fehler zu reduzieren
korrigiere die Zeile 52 zu:

Code: Alles auswählen

Docneu.Sheets(0).getCellRangeByPosition(0,1,3,nCounter).setDataArray(daten)
Gruß,
mikele


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