Extension: OutlineCrossRef - Exception

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Ich habe die Extension "Outline Cross Ref" zum automatischen Erstellen von Querverweisen installiert. Ich kann sie auch starten, aber es erscheint eine Fehlermeldung:

Code: Alles auswählen

com.sun.sar.uno.RuntimeException
Message: .
und zwar in der zweiten Zeile:

Code: Alles auswählen

	If oTextElement.supportsService("com.sun.star.text.Paragraph") Then
		If oTextElement.ParaChapterNumberingLevel >= 0 then
			nHeadsFound = nHeadsFound + 1
		End If
Man beachte, dass in der Fehlermeldung "com.sun.SAR" und nicht wie im Code "com.sun.STAR" steht!
Wenn ich den Quellcode einfach anpasse, läuft das Makro, allerdings zeigt er keine Überschriften an. Klar, die If Bedingung, ob Writer den 'supportService' wird niemals erfüllt, so dass wohl niemals Überschriften angezeigt werden.
Jemand eine Ahnung, wie ich das Programm zum Laufen bringe?
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Extension: OutlineCrossRef - Exception

Beitrag von turtle47 »

Hallo,

ersetze in dem gesamten Code mal:

Code: Alles auswählen

ParaChapterNumberingLevel 
durch

Code: Alles auswählen

NumberingLevel
Viel Erfolg.

Jürgen

P.S. Wenn du hier im Forum stöberst, wirst du sehen, dass meistens eine Frage mit einer Anrede beginnt und einem Gruß endet. Solch kleine Nettigkeiten erhöhen die Bereitschaft der Helfer, sich Gedanken zu machen ungemein.
(Zitat: paljass)
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Hallo Jürgen,

hast natürlich Recht. In Zukunft werde ich auf eine Anrede und einen Gruß achten :-)

Die Codeanpassung funktioniert - zum Teil. Das Makro zeigt jetzt alle Überschriften an - und alle anderen Vorlagen auch wie Standard und Textkörper. Also letztlich macht das Programm was es soll, nur das alles sehr unübersichtlich ist.

Hast Du vielleicht noch eine Idee wie ich nur die Überschriften angezeigt bekomme und nicht gleich alle Vorlagen?

Oder kann OpenOffice 3.2 mittlerweile selbst irgendwie Querverweise über Subdokumente meines Masterdokuments erstellen? Ich weiß, dass man manuell Referenzen erstellen kann. Aber jeder Referenz einen Namen zu geben wird bei meinem großen Dokument zu aufwendig werden :-(

Vielen Dank für Deine Zeit und Mühe!
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Extension: OutlineCrossRef - Exception

Beitrag von turtle47 »

Hallo Alex,
Alex77 hat geschrieben:Hast Du vielleicht noch eine Idee wie ich nur die Überschriften angezeigt bekomme und nicht gleich alle Vorlagen?
Nein, leider nicht.
Alex77 hat geschrieben:Oder kann OpenOffice 3.2 mittlerweile selbst irgendwie Querverweise über Subdokumente meines Masterdokuments erstellen? Ich weiß, dass man manuell Referenzen erstellen kann. Aber jeder Referenz einen Namen zu geben wird bei meinem großen Dokument zu aufwendig werden
Dazu können Dir vielleicht die Writer-Experten einen Tipp geben.

Jürgen
Zuletzt geändert von turtle47 am So, 13.06.2010 08:15, insgesamt 1-mal geändert.
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Hallo Jürgen,

schade, dass Du mir nicht noch mehr helfen kannst. Habe daher mal den Programmierer der Extension angeschrieben. Vielleicht schreibt der ja zurück?

Besten Dank für Deine Hilfe.

Alex
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Extension: OutlineCrossRef - Exception

Beitrag von turtle47 »

Hallo Alex,

besorge Dir eine 2.4er Portable-Version und versuche es mal damit. Die kannst Du einfach in einen Ordner installieren.
Damit sieht das schon viiiiel besser aus und funktioniert ohne Codeänderung. :lol:

Gruss.

Jürgen
Dateianhänge
Demo.jpg
Demo.jpg (31.32 KiB) 1046 mal betrachtet
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Hey Jürgen,

na, Du hast ja tolle Ideen! Das funktioniert prima.

Falls das jemand auch mal braucht hier der Link zu OpenOffice Portable 2.4.1:
http://sourceforge.net/projects/portabl ... e%202.4.1/

Link zur Extension OutlineCrossRef:
http://mesh.dl.sourceforge.net/project/ ... Ref3-2.zip

und so installiert man es:
gehe zu Extras/Makro/Makros verwalten/Makro...
Dann auf Verwalten klicken, im neu öffnenden Fenster den 3. Reiter "Bibliotheken wählen.
Dort kannst Du unter "importieren" die OutlineCrossRef3-2.odt importieren
(von RoBo aus Thread: viewtopic.php?f=1&t=16623&p=94487#p69301)

und hier die Anleitung, wie man Querverweise über Subdokumente hinweg nutzen kann:
viewtopic.php?f=1&t=16623&p=94487#p94487

Ansonsten hat mri der Autor der Extension tatsächlich zurückgeschrieben. Er hat die Extension in der Tat seit OO 3.0 nicht mehr gepflegt, weil sie überflüssig wurde in seinen Augen. Außer man nutzt Masterdokumente, die er selbst anscheinend nicht benutzt. Er will sich das die Tage aber mal anschauen. Wenn sich etwas ergibt, dann veröffentliche ich es hier. :-)

Vielen, vielen Dank Jürgen!

Beste Grüße,

Alex
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Doch noch eine Programmierlösung gefunden! Hier:
http://hs-albsig.de/blog/medien/2010/04 ... t-beheben/

Code: Alles auswählen

Die drei Vorkommen von “ParaChapterNumberingLevel” in “OutlineLevel” ändern
Die zwei Vorkommen von “if oTextElement.OutlineLevel >= 0 then” ändern: Gleichheitszeichen entfernen
Allerdings muss man im Dialog für Überschrift 1 "level 2" angeben. Bei level 1 wird gar nichts angezeigt. Die 10 Überschrift ist damit unerreichbar :-/
Aber so funktioniert die Extension auch mit OO 3.2.1
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Hey Jürgen,

habe das Programmier Problem mit dem Programmierer der Extension zusammen gelöst. Zwei weitere Zeilen mussten modifiziert werden:

Code: Alles auswählen

OutlineLevel + 1
dort musste das "+1" weg.
Läuft jetzt auch mit OpenOffice 3.2.1. Wird er sicher in den nächsten Tagen auf sein SourceForge Account hochladen. Vielleicht kann es ja noch jemand gebrauchen:
http://sourceforge.net/projects/ooomacr ... eferencer/

Beste Grüße,

Alex
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Extension: OutlineCrossRef - Exception

Beitrag von turtle47 »

Hi Alex,
Alex77 hat geschrieben:habe das Programmier Problem mit dem Programmierer der Extension zusammen gelöst. Zwei weitere Zeilen mussten modifiziert werden:
Code: Alles auswählen
OutlineLevel + 1
dort musste das "+1" weg.
So einfach kann das Leben sein.

Klasse das Du Dich darum gekümmernt hast.

Guten Start in die Woche.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Alex77
**
Beiträge: 23
Registriert: Fr, 07.07.2006 21:34

Re: Extension: OutlineCrossRef - Exception

Beitrag von Alex77 »

Hey Jürgen,

das Problem war, dass der Programmierer an dem Programm seit 3 Jahren nichts mehr gemacht hatte und selbst erst einmal der ahnungslose Programmierer war (der jetzt seinen eigenen Quellcode ohne viel Dokumentation verstehen musste *lach*).
Er dachte allerdings, dass sein Makro (ist noch gar keine Extension, wird jetzt aber eine) seit OO 3.0 unnötig geworden sei. Allerdings für Querverweise bei Globaldokumenten halt nicht. Zumindest wüsste ich halt bisher keine bessere Lösung.

Na ja, nebenbei übersetze ich das Makro noch ins Deutsche und wird dann wohl diese Woche alles fertig werden. :-)

Beste Grüße,

Alex
Antworten