🙏 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!🍀
>> 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
Stichwortverzeichnis / Register über eine vorhandene Tabelle
Hallo,
diese Frage habe ich schon im Bereich "Writer" gestellt - aber das, was ich will, muss man wohl programmieren?
Es existiert eine Tabelle im writer mit mehreren Spalten und vielen Zeilen.
Über den Inhalt dieser Tabelle, eine Liste über vorhandene Filme, möchte ich ein Stichwortverzeichnis / ein Register erstellen.
Kurze Beschreibung der Tabelle:
Spalte 1: Filmnummer; die Nummer beginnt nach einem Themenwechsel neu.
Spalte 2: Darsteller, Beteiligte - in mehreren Zeilen. Nach diesen soll im Stichwortverzeichnis gesucht werden.
Spalte 3: Filmtitel in der ersten Zeile, Beschreibungen folgen in den nächsten Zeilen;
nur die erste Zeile soll für das Verzeichnis verwendet werden.
Aufbau des Stichwortverzeichnisses:
Spalte 1: Name Beteiligte, jeweils nur ein Name.
Spalte 2: Filmtitel
Spalte 3: Filmnummer
Sortierung des Stichwortverzeichnisses:
Nach Spalte 1 und dann nach Spalte 2
Wie das zu machen ist?
Ich habe keinen blassen Schimmer.
Vielen Dank für Hinweise.
anton
diese Frage habe ich schon im Bereich "Writer" gestellt - aber das, was ich will, muss man wohl programmieren?
Es existiert eine Tabelle im writer mit mehreren Spalten und vielen Zeilen.
Über den Inhalt dieser Tabelle, eine Liste über vorhandene Filme, möchte ich ein Stichwortverzeichnis / ein Register erstellen.
Kurze Beschreibung der Tabelle:
Spalte 1: Filmnummer; die Nummer beginnt nach einem Themenwechsel neu.
Spalte 2: Darsteller, Beteiligte - in mehreren Zeilen. Nach diesen soll im Stichwortverzeichnis gesucht werden.
Spalte 3: Filmtitel in der ersten Zeile, Beschreibungen folgen in den nächsten Zeilen;
nur die erste Zeile soll für das Verzeichnis verwendet werden.
Aufbau des Stichwortverzeichnisses:
Spalte 1: Name Beteiligte, jeweils nur ein Name.
Spalte 2: Filmtitel
Spalte 3: Filmnummer
Sortierung des Stichwortverzeichnisses:
Nach Spalte 1 und dann nach Spalte 2
Wie das zu machen ist?
Ich habe keinen blassen Schimmer.
Vielen Dank für Hinweise.
anton
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Moin,
Grundsätzlich:
Etwas finden, oder etwas sortieren, oder, oder?
Gruß R
Da hast du für eine anständige Analyse den falschen Aufbau der Tabelle gewählt.anton hat geschrieben: ↑Mo 23. Dez 2024, 17:31Spalte 1: Filmnummer; die Nummer beginnt nach einem Themenwechsel neu.
Spalte 2: Darsteller, Beteiligte - in mehreren Zeilen. Nach diesen soll im Stichwortverzeichnis gesucht werden.
Spalte 3: Filmtitel in der ersten Zeile, Beschreibungen folgen in den nächsten Zeilen;
nur die erste Zeile soll für das Verzeichnis verwendet werden.
Grundsätzlich:
- Wenn die Filmnummer mehfach vorkommt kann sie nicht eindeutig zugeordnet werden, eine fortlaufende Nummerierung ist sinnvoll.
- Wenn du Darsteller und Beteiligte in mehrere Zeilen einer Zelle schreibst erkennt das Programm nur einen einzigen Text, da etwas herauszufischen ist sehr schwierig.
- Das gleiche gilt für Filmtitel/Beschreibung, auch in einer Zelle, nur sehr schwer auseinanderzuhalten.
Etwas finden, oder etwas sortieren, oder, oder?
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Anmerkung:
Die vorhandene Tabelle ist nun schon sehr groß geraten, sonst käme ich nicht auf die Idee, sie mit einem Stichwortverzeichnis / einem Register zusätzlich zu erschließen.
Die Tabelle umzuarbeiten, damit ich sie besser per Programm erschließen kann, da lerne ich lieber etwas über die Möglichkeiten von Makros in Writer-Tabellen.
Um mir einen Eindruck zu verschaffen:
- Wie spreche ich eine Writer-Tabelle mit einem Makro an?
- Wie sind die Spalten anzusprechen und auszulesen?
- Kann ich einzelne Zeilen in einem Tabellenfeld auslesen?
(Wie schon anfangs bemerkt, ich bin Anfänger)
Die vorhandene Tabelle ist nun schon sehr groß geraten, sonst käme ich nicht auf die Idee, sie mit einem Stichwortverzeichnis / einem Register zusätzlich zu erschließen.
Die Tabelle umzuarbeiten, damit ich sie besser per Programm erschließen kann, da lerne ich lieber etwas über die Möglichkeiten von Makros in Writer-Tabellen.
Um mir einen Eindruck zu verschaffen:
- Wie spreche ich eine Writer-Tabelle mit einem Makro an?
- Wie sind die Spalten anzusprechen und auszulesen?
- Kann ich einzelne Zeilen in einem Tabellenfeld auslesen?
(Wie schon anfangs bemerkt, ich bin Anfänger)
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Fällt dir gar nicht auf, dass ich dir gar nicht mehr geschrieben habe?
Warum ignorierst du die Antwort von F3K Total , der uns beiden haushoch überlegen ist, völlig??
Ändere den ersten Beitrag von dir noch einmal (!) und nimm endlich "Stichwortverzeichnis" raus!!! Denn das kann ohne deine Vorarbeit auch nichts lösen.
Wenn du meinst, dass deine Writer-Tabelle zu groß sei, um sie zu erweitern oder umzuarbeiten, dann überführe sie nach calc!
Da kannst du dann Spalten beliebig einfügen, so z.B vor die erste Spalte eine mit der fortlaufenden Nummerierung.
Also erst einmal die einfachen Sachen lernen, bevor man anfängt Tabellen im writer mittels Makro zu bearbeiten. Denn dass wird garantiert nicht einfacher.
Warum ignorierst du die Antwort von F3K Total , der uns beiden haushoch überlegen ist, völlig??
Ändere den ersten Beitrag von dir noch einmal (!) und nimm endlich "Stichwortverzeichnis" raus!!! Denn das kann ohne deine Vorarbeit auch nichts lösen.
Wenn du meinst, dass deine Writer-Tabelle zu groß sei, um sie zu erweitern oder umzuarbeiten, dann überführe sie nach calc!
Da kannst du dann Spalten beliebig einfügen, so z.B vor die erste Spalte eine mit der fortlaufenden Nummerierung.
Also erst einmal die einfachen Sachen lernen, bevor man anfängt Tabellen im writer mittels Makro zu bearbeiten. Denn dass wird garantiert nicht einfacher.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Ich will mich nicht über Begriffe streiten, trotzdem https://de.wikipedia.org/wiki/Stichwort ... erzeichnis
Bei einem Themenwechsel kann ich die Tabelle teilen, das ist kein Problem -> die Nummern sind dann eindeutig.
Dann erstelle ich mehrere ...verzeichnisse ...register.
Schön wären Hinweise auf meine Fragen.
Bei einem Themenwechsel kann ich die Tabelle teilen, das ist kein Problem -> die Nummern sind dann eindeutig.
Dann erstelle ich mehrere ...verzeichnisse ...register.
Schön wären Hinweise auf meine Fragen.
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Ein Stichwortverzeichnis in LibreOffice oder ähnlichen wird entweder durch Markierung jedes Begriffs und Aufnahme in das Stichwortregister oder durch Schreibung in eine Konkordanzdatei, die dann mit dem Register verlinkt wird erzeugt.anton hat geschrieben: ↑Fr 27. Dez 2024, 15:50Ich will mich nicht über Begriffe streiten, trotzdem https://de.wikipedia.org/wiki/Stichwort ... erzeichnis
...
Wenn man bereits vorhandene Listen nicht neu schreiben will, sollte man sein Produkt (vielleicht) einfach in die Form einer Konkordanzdatei überführen und die dann verlinken. Dann wäre dein Wunsch erfüllt.
Aber man kann vielleicht was anderes machen. Weihnachten ist ja vorbei.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Ich habe mir deine Beispieldatei "Konkordanzdatei-2.sdi" aus meinem Writer-Post angesehen:Pit Zyclade hat geschrieben: ↑Fr 27. Dez 2024, 16:52
Wenn man bereits vorhandene Listen nicht neu schreiben will, sollte man sein Produkt (vielleicht) einfach in die Form einer Konkordanzdatei überführen und die dann verlinken. Dann wäre dein Wunsch erfüllt.
Wie ist diese Datei entstanden? Durch händische Einträge - Klicken, Kopieren, Löschen usw. - oder wie?#Suchbegriff;Registereintrag;1. Schl�ssel;2. Schl�ssel;Gro�/Klein;ganzes Wort
Knapp;Knapp Knappe;Person;;1;1
knecht;Knecht;Person;Hauptperson;0;0
Becher;;Gegenstand;;1;0
J�ngling;;Person;Hauptperson;1;0
K�nig;;Person;Hauptperson;1;1
Ring;;Gegenstand;;1;1
Ritter;;Person;;1;1
Wer wagt es;;Frage;;1;0
Knappen;Knapp Knappe;Person;;0;1
Was du sahst auf des Meeres tiefunterstem Grunde;;Frage;;1;0
Kannst du mir ein Beispiel mit einer kleinen writer Tabelle mit drei Spalten (Nr; Name; Bezeichnung) und fünf Tabellenzeilen mit beliebigen Einträgen zeigen, wie ich daraus eine Konkordanzdatei erzeuge ?
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
anton hat geschrieben: ↑So 29. Dez 2024, 16:52
Konkordanzdatei.sdi:Du hast meine wiederholte Frage nicht beantwortet: Wie stellst du dir den Suchbegriff, der dann automatisch bei jedem Vorkommen im Text im "Stichwortregister" aufgeführt werden soll, vor?#Suchbegriff;Registereintrag;1. Schl�ssel;2. Schl�ssel;Gro�/Klein;ganzes Wort
Wie ist diese Datei entstanden? Durch händische Einträge - Klicken, Kopieren, Löschen usw. - oder wie?
Kannst du mir ein Beispiel mit einer kleinen writer Tabelle mit drei Spalten (Nr; Name; Bezeichnung) und fünf Tabellenzeilen mit beliebigen Einträgen zeigen, wie ich daraus eine Konkordanzdatei erzeuge ?
Soll das eine Verbindung aus dem Inhalt der drei Spalten (je Zeile) deiner Tabelle sein?
ODER
Sollen das Einzeldaten aus jeder Spalte sein?
ODER
Sollen das nur Daten aus einer Spalte (z.B. der ersten) sein und die Daten der nächsten Spalte sollen dann Unterbegriffe sein?
Wenn darüber Klarheit besteht, dann geht es weiter.
Was die Konkordanzdatei machen kann, ist dass sie eine Sammlung von einzelnen Suchbegriffen darstellt, Zeile für Zeile ein Suchbegriff. Die Zeilen müssen gar nicht sortiert sein. Was die weiteren "Zutaten" jeder Zeile bewirken, wurde an meinem Gedichtbeispiel offensichtlich.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Moin,
da du ja nun unbedingt die folgenden Fragen beantwortet haben möchtest, habe ich dir eine Beispieldatei mit drei dreispaltigen Tabellen gebastelt, deren einzelne Zellen per Schleifen durchlaufen werden.
Der Code sieht so aus:
Viel Erfolg, auch wenn ich nicht glaube, dass du damit weiter kommst.
Die Datei, mit laufendem Makro findest du angehängt.
Nützliche Tipps zum Zugriff auf Text Tabellen im Writer findest du auch bei Dannenhöfer
Gruß R
da du ja nun unbedingt die folgenden Fragen beantwortet haben möchtest, habe ich dir eine Beispieldatei mit drei dreispaltigen Tabellen gebastelt, deren einzelne Zellen per Schleifen durchlaufen werden.
Das Makro habe ich entsprechend kommentiert, so dass du dir damit alle deine o.a. Fragen selbst beantworten kannst.anton hat geschrieben: ↑Fr 27. Dez 2024, 14:36... damit ich sie besser per Programm erschließen kann, da lerne ich lieber etwas über die Möglichkeiten von Makros in Writer-Tabellen.
Um mir einen Eindruck zu verschaffen:
- Wie spreche ich eine Writer-Tabelle mit einem Makro an?
- Wie sind die Spalten anzusprechen und auszulesen?
- Kann ich einzelne Zeilen in einem Tabellenfeld auslesen?...
Der Code sieht so aus:
Code: Alles auswählen
REM ***** BASIC *****
Sub Analyse_Table
oTables = ThisComponent.TextTables ' alle Tabellen der Writer Datei ansprechen
nTablesCount = oTables.Count ' Anzahl der Tabellen auslesen
nCounter = 0 'Laufenden Zellzähler auf Null setzen
for i = 0 to nTablesCount - 1 'Schleife über alle Tabellen der Writer Datei
oTable = oTables (i)'Aktuelle Tabelle wählen
sTableName = oTable.Name 'Namen der aktuellen Tabelle auslesen
msgbox ("Jetzt durchlaufen wir die Zellen der " & sTableName,64,"Analyse der " & sTableName)
nColumns = oTable.Columns.Count ' Anzahl der Spalten der aktuellen Tabelle ermitteln
nRows = oTable.Rows.Count ' Anzahl der Zeilen der aktuellen Tabelle ermitteln
for j = 0 to nColumns - 1 'Schleife über alle Spalten der aktuellen Tabelle
for k = 0 to nRows - 1 'Schleife über alle Zeilen der aktuellen Tabelle
oCell = oTable.getCellbyposition(j,k) 'hier wir die Zelle über ihre Koordinaten (x,y) in der Tabelle angesprochen -> A1 = 0,0 | A2 = 0,1 | B2 = 1,1
nCounter = nCounter + 1 'Zellzähler um 1 erhöhen
sCellname = oCell.CellName 'Namen der Zelle auslesen
sCellString = oCell.String ' Text in der Zelle auslesen
if sCellString = "" then 'feststellen ob der Text leer ist
sMsgboxText = "Die Zelle " & sCellname & " enthält keinen Text"
else
sMsgboxText = "In der Zelle steht der Text:" & chr(13) & chr(13) & sCellString
endif
msgbox ("Die Zelle " & sCellname & " hat die Koordinaten x = " & j & " | y = " & k & chr(13) & sMsgboxText,64,"Analyse der Zelle " & sCellname & " auf Tabelle " & sTableName )
if instr(sCellString,chr(13)) > 0 then 'Feststellen ob der Text Zeilenumbrüche enthält, wenn ja Analyse der Zeilen abfragen
if msgbox ("Sollen die einzelnen Zeilen analysiert werden?",36,"Der Text in der Zelle enthält mehr als eine Zeile") = 6 then
aCellString = split(sCellString,chr(13) & chr(10)) 'Hier wird der mehrzeilige Text in einzelne Elemente aufgebrochen und in ein Array geschrieben
for l = 0 to ubound (aCellString)
msgbox ("Zeile " & (l+1) & ": " & aCellString (l),64,"Analyse der Zeilen in der Zelle")' einzelne Zeilen ausgeben
next l
endif
endif
next k
next j
next i
msgbox ("Alle " & nCounter & " Zellen der " & nTablesCount & " Tabellen wurden durchlaufen.",64,"Fertig!")
End Sub
Die Datei, mit laufendem Makro findest du angehängt.
Nützliche Tipps zum Zugriff auf Text Tabellen im Writer findest du auch bei Dannenhöfer
Gruß R
- Dateianhänge
-
- Tabellenmakro.odt
- (30.82 KiB) 153-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO
-
- * LO-Experte *
- Beiträge: 3041
- Registriert: Mo 12. Nov 2012, 16:59
Re: Stichwortverzeichnis / Register über eine vorhandene Tabelle
Umgekehrt wird ein Schuh daraus! Kopiere mal 5 deiner Tabellenzeilen und markiere mal fett, welcher Teil einen Eintrag im "Stichwortverzeichnis" werden soll. Und dann versuche mal zu beschreiben, welche hierarchische Ordnung deine Einträge haben sollen.
Vielleicht können wir dann helfen, wie man da vorgehen könnte.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
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.