Seite 1 von 1

Feld, das Wörter im Absatz zählt

Verfasst: Mi, 03.10.2012 00:01
von jokerfilm
Hallo Leute,

ich versuche für eine Art Drehbuch-Vorlage ein Feld zu erzeugen, in dem die geschätzte gesprochene Länge des jeweiligen Absatzes ausgegeben wird.
Nach dem ich schon etliche andere Gimmicks realisiert habe, dachte ich, dass das nicht so schwer sein kann. Offenbar habe ich mich getäuscht.
Auch im Netz habe ich bisher nichts gefunden. Vielleicht kann mir hier jemand den richtigen Tip geben.

Problemstellung: Ich habe eine Forlage, in die der Autor per Autotextmakro jeweils Bausteine einfügt: Beitrag, Musik, Moderation. Jede Bausteinart enthält verschiedene Elemente, teils Felder, Nummerierungen, Platzhaltertext usw. Nun möchte ich für den Baustein Moderation ein Feld einbauen, das die geschätzte gesprochene Länge des Textes im Moderationsabschnitts anzeigt.
Plan war es, Wortanzahl oder Zeilenanzahl o. ä. dazu heranzuziehen und mit einer zu justierenden Variablen in einen geschätzten Zeitwert umzurechnen.
Leider gibt Writer als vordefiniertes Feld über Statistik nur die Wortanzahl für das ganze Dokument aus.
Im Menü kann man unter Extras - Wörter zählen aber auch die Wortanzahl für einen markierten Bereich ablesen.
Kann man an diesen Wert per Makro kommen? - Wenn ja, wie lese ich ihn aus, in ein Feld? Und zwar so, dass er einmal ausgelesen, auch erhalten bleibt, solange der entsprechende Absatz nicht verändert wird. - Kann ich das dann auch mit vielen Absätzen in einem Dokument machen?
Oder gibt es noch einen anderen Weg, an die Anzahl der Wörter in einem Absatz oder einem Bereich zu kommen?

oOO 3.3.0

Vielen dank, für eure Hilfe

Michael

Re: Feld, das Wörter im Absatz zählt

Verfasst: Mi, 03.10.2012 09:16
von Stephan
Leider gibt Writer als vordefiniertes Feld über Statistik nur die Wortanzahl für das ganze Dokument aus.
Es gibt eine Extension die pro Absatzvorlage zählt und das Ergebnis als FEld einfügt:
http://www.ooowiki.de/W%C3%B6rterZ%C3%A4hlFeld

für einfache Anforderungen könnte das bereits genügen, da man nur jedem Absatz eine separate Absatzvorlage zuweisen müßte (die inhaltlich identisch sein können und sich nur im Namen unterscheiden müssen), was ja für einige Dutzend Absätze kein besonderes Problem wäre.
Kann man an diesen Wert per Makro kommen?
Man kann die Wörter einer Markierung auch ohne Rückgriff auf diese Programmfunktion zählen. Für eine Markierung die nur innerhalb ein und desselben Absatzes ist z.B. mit:

Code: Alles auswählen

Sub Main
cur=thisComponent.GetCurrentController.ViewCursor
tmp=cur.string
wortzahl = Split(tmp," ") 
Msgbox UBOUND(wortzahl)+1
End Sub
Der Umfang der Markierung darf hierbei nicht größer als 65536 Zeichen (inklusiv Leer- und Sonderzeichen) sein.


Gruß
Stephan

Re: Feld, das Wörter im Absatz zählt

Verfasst: Sa, 06.10.2012 13:23
von jokerfilm
Hallo Stephan,

danke schon mal, für deine Antwort.
Auf die Extension bin ich auch schon gestoßen. ich habe sie bisher aus dem Grunde nicht näher in Erwägung gezogen, weil ich meine Absätze per Autotext und Makro in das Dokument einfügen lasse:
Die Autoren bekommen pro Sendungsabschnitt immer einen Autotextbaustein, den sie in entsprechenden Feldern und Vorformatierten Absätzen mit Inhalt befüllen können. Ein Baustein ist der "Moderations-Baustein", Neben einer Nummerierung, einer Überschrift und diversen anderen Feldern bzw. Absatzformatierungen enthält er ein Absatz für den Moderationstext und ein Feld für die geschätzte Länge der Moderation. Dieser Baustein wird nun innerhalb eines Drehbuches mehrfach eingefügt und anschließned mit Text befüllt. Mit der Extension bekäme ich so leider immer nur die Wortanzahl für alle Moderationen zusammen.

Es sei denn, es gäbe eine Möglichkeit, die Absatzformatierung der Bausteine dynamisch zuzuweisen. Also dass bei jeder erneuten Einfügung des Autotextes, das Format des Modertionstext-Absatzes geändert wird (z.B. Mod_01, Mod_02, Mod_03...).

Dein anderer Vorschlag klingt auch interessant. Ich werde die Funktionsweise mal testen.
Dazu müsste ich also per Macro den zu zählenden Textabschnitt auswählen und dann die Wörter zählen lassen. Das wirft allerdings zwei neue Herausforderungen auf:
Wenn ich das richtig verstanden habe, funktioniert das nur innerhalb eines Absatzes, ich muss also verhindern, dass die Autoren innerhalb des Moderationstextes per Return neue Absätze einfügen, was ich ihnen nicht so einfach abgewöhnen können dürfte, ohne Hilfe des Programs. Gibt es dazu was? z.B. Etwas, das innerhalb einer Formatierung Absatzmarken immer in manuelle Zeilenumbrüche gewnadelt werden, oder dass die Returntaste nicht geht, oder so?

Und ich müsste den Absatz automatisch markieren, den Wert auslesen, und dann dauerhaft dem Feld im Absatz zuweisen, bis der Absatz geändert wird.
Sonst, so befürchte ich, würden alle Felder im Dokument immer die Wortanzahl des zuletzt durchzählten Absatzes anzeigen, korrekt?

Michael

Re: Feld, das Wörter im Absatz zählt

Verfasst: Mo, 22.10.2012 22:11
von jokerfilm
Hallo,
bin an dieser Stelle bisher nicht weitergekommen. Hat jemand eventuell noch eine Idee?
Gibt es eventuell eine Möglichkeit, Absatzformate dynamisch zuzuweisen, also über eine Variable?
Wie schon geschrieben wird mein Dokument aus bausteinen zusammengesetzt.
Diese sind automatisch nummeriert über ein Feld. Kann man den Wert x eines solchen feldes dazu benutzen, einem Absatz im gleichen Autotextelement ein Format zuzuweisen, so dass die Absatzvorlage dann Absatzvorlage_x heißt? So könnte ich zum Beispiel die Wortzählroutine umsetzen. Und feste Werte für jeden eingefügten Block erhalten.

Danke nochmals für eure Unterstützung.

Michael