Hallo,
ich probiere gerade Möglichkeiten aus, OpenOffice via UNO anzusprechen, ich mache das mit C#. Starten von OpenOffice und Einfügen von Text habe ich ganz gut hinbekommen.
Jetzt möchte ich, dass OpenOffice automatisch das aktuell geöffnete Dokument speichert, wenn der Anwender das Dokument schließt oder OpenOffce beendet. Ziel ist, dass beim Schließen der Dialog "Das Dokument ... wurde geändert. Sollen die Änderungen gespeichert werden?" nicht erscheint, sondern immer automatisch gespeichert wird.
Ich habe versucht, mittels XCloseListener das Event queryClosing abzufangen und dann das Dokument zu speichern, der Dialog erscheint aber trotzdem immer.
Über ein Makro ging das sicher auch, aber das gewünschte Verhalten soll bei jedem beliebigen Dokument implementiert werden. Oder kann man ein Makro per UNO für jedes geöffnete Dokument einbetten?
Hat jemand eine Idee, wie ich das machen kann?
Gruß
BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
Automatisch Speichern beim Schließen
Re: Automatisch Speichern beim Schließen
Hi,
Makros kannst du auch auf dem jeweiligen Client im Benutzerverzeichnis speichern.
Wennn du das, hier jetzt Basic, Makro Register_Listener, nach dem Öffnen eines existierenden Dokuments über eben dieses laufen lässt, wirds beim Schliessen unter dem ja bereits vorhandenen Pfad gespeichert.
EDIT: Vielleicht reicht dir auch, die Dokumenteigenschaft .modified = false zu setzen, um den Dialog zu unterbinden?
HTH Gruß R
Makros kannst du auch auf dem jeweiligen Client im Benutzerverzeichnis speichern.
Wennn du das, hier jetzt Basic, Makro Register_Listener, nach dem Öffnen eines existierenden Dokuments über eben dieses laufen lässt, wirds beim Schliessen unter dem ja bereits vorhandenen Pfad gespeichert.
Code: Alles auswählen
Sub Register_Listener
oListener = createunoListener("EventListener_", "com.sun.star.document.XEventListener" )
thisComponent.addEventListener(oListener)
end sub
sub EventListener_notifyEvent(event)
if ThisComponent.isModified = true then
ThisComponent.store
ThisComponent.modified = false
endif
endif
end sub
sub EventListener_disposing
end sub
HTH Gruß R
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Automatisch Speichern beim Schließen
Super, das hilft mir weiter - danke.
Re: Automatisch Speichern beim Schließen
ups,
ich hatte die wichtigste Zeile im Makro,"OnPrepareViewClosing", gelöscht, so muss es:Gruß R
ich hatte die wichtigste Zeile im Makro,"OnPrepareViewClosing", gelöscht, so muss es:
Code: Alles auswählen
Sub Register_Listener
oListener = createunoListener("EventListener_", "com.sun.star.document.XEventListener" )
thisComponent.addEventListener(oListener)
end sub
sub EventListener_notifyEvent(event)
if event.EventName = "OnPrepareViewClosing" then
if ThisComponent.isModified = true then
ThisComponent.store
ThisComponent.modified = false
endif
endif
end sub
sub EventListener_disposing
end sub
Windows 10: AOO, LO Linux Mint: AOO, LO