🚨 Das LibreOffice Forum braucht jetzt Ihre Hilfe! 🚨
🙏 Spenden Sie heute und sichern Sie die Zukunft unseres LibreOffice-Forums 🙏
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

❤️ DANKE >> << DANKE ❤️

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Ereignisse überwachen, die von LibreOffice-Dokumenten ausgelöst werden

Alles zur Programmierung im LibreOffice.
Antworten
Cepheus
Beiträge: 22
Registriert: Mo 12. Mai 2025, 21:51

Ereignisse überwachen, die von LibreOffice-Dokumenten ausgelöst werden

Beitrag von Cepheus » So 29. Mär 2026, 16:46

Hallo,
ich möchte dieses Thema kennenlernen; mein erster Schritt, über LibreOffice-Help (-> Listening to Document Events), endete aber mit einer Enttäuschung. Nachdem ich den von Help angebotenen Code in zwei Module der dokumenteigenen Standardbibliothek kopiert und über Extras - Anpassen - Ereignisse Dokument öffnen mit der Routine OnLoad verknüpft habe, hoffte ich, dass bei nächstem Öffnen meiner Datei "etwas" passiert. Aber leider tritt ein Fehler schon in der OnLoad-Routine auf:
_obj = New ConsoleLogger 'FEHLER: Kein Zugriff auf Objekt. Ungültiger Objektverweis.
Da der gesamte Code unter Help zu sehen ist, wiederhole ich hier nur die 2 controller-Methoden:

Code: Alles auswählen

REM  *****  BASIC  *****

Option Explicit

Sub Main
End Sub

' controller.Events module
Global _obj As Object ' controller.ConsoleLogger instance

Sub OnLoad(evt As com.sun.star.document.DocumentEvent) ' >> Open Document <<
	_obj = New ConsoleLogger
	_obj.StartAdapter(evt)
End Sub ' controller.OnLoad

Sub _documentEventOccured(evt As com.sun.star.document.DocumentEvent)
    ''' ConsoleLogger unique entry point '''
     _obj.DocumentEventOccurs(evt)
End Sub ' controller._documentEventOccured
Ich bitte um eine Abklärung, warum dieser Fehler auftritt.
Mit danke im voraus,
Cepheus

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2692
Registriert: Fr 10. Dez 2010, 10:01

Re: Ereignisse überwachen, die von LibreOffice-Dokumenten ausgelöst werden

Beitrag von karolus » Mo 30. Mär 2026, 07:42

Cepheus hat geschrieben:
So 29. Mär 2026, 16:46
Nachdem ich den von Help angebotenen Code in zwei Module der dokumenteigenen Standardbibliothek kopiert und über Extras - Anpassen - Ereignisse Dokument öffnen mit der Routine OnLoad verknüpft habe, hoffte ich, dass bei nächstem Öffnen meiner Datei "etwas" passiert.

Ich bitte um eine Abklärung, warum dieser Fehler auftritt.
So ganz allgemein würde ich mich fragen, ob es wirklich so sinnvoll ist, Code der beim Ereignis: »OnLoad« ausgeführt werden soll im Dokument zu speichern?!
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Cepheus
Beiträge: 22
Registriert: Mo 12. Mai 2025, 21:51

Re: Ereignisse überwachen, die von LibreOffice-Dokumenten ausgelöst werden

Beitrag von Cepheus » Mo 30. Mär 2026, 18:01

Hallo, karolus!
Mir fehlt leider jede Erfahrung zum Titelthema. In Help steht auch kein Hinweis zum Ort für das Speichern.
Ich wäre dir sehr dankbar, wenn du mir so einen Hinweis geben könntest, vielleicht untermauert mit einer Begründung.
Gruß,
Cepheus

Cepheus
Beiträge: 22
Registriert: Mo 12. Mai 2025, 21:51

Re: Ereignisse überwachen, die von LibreOffice-Dokumenten ausgelöst werden

Beitrag von Cepheus » Di 31. Mär 2026, 20:56

Auch wenn ich den von Help vorgeschlagenen Code nicht im Dokument, sondern unter Meine Makros und Dialoge speichere, tritt in der OnLoad-Routine derselbe Fehler auf:
_obj = New ConsoleLogger 'FEHLER: Kein Zugriff auf Objekt. Ungültiger Objektverweis.
Kann mir jemand einen passenden Objektverweis nennen?
Gruß,
Cepheus


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