[gelöst][Alternative]Datei Dialoge ersetzen ?!

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

der_Zerstreute
***
Beiträge: 62
Registriert: Do, 01.05.2008 11:33

[gelöst][Alternative]Datei Dialoge ersetzen ?!

Beitrag von der_Zerstreute »

Hallo Leute,

Ich bastel im Moment an einer OOWriter Textvorlage mit Tabellenanteil der von mehreren Leuten benutz werden soll.
Der Inhalt der Tabelle wird (das funktioniert seit geraumer Zeit problemlos) beim schließen des Dokuments ausgelesen und getrennt in eine CSV Datei exportiert.

In Zukunft möchte ich aber verhindern das die Vorlage starten und die modifizierte Datei abspeichern - egal wo.
Am liebsten wäre es mir das jeder Speicherversuch sofort mit einer Dialogbox abgefangen wird so das wirklich nur der "Sicherungsprozess" am beim Schließen für die Sicherung das Daten zuständig ist.

Ich habe nun zu diesem Zwecke habe ich unter Anpassen für "Speichern" und "Speichern unter" ein Makro mit folgendem Code hinterlegt :

Code: Alles auswählen

sub SaveFileAs
if Datei$ <>"" then
	 MsgBox "Die Daten werden nur beim Schließen gespeichert. Seperates Speichern als Datei ist nicht mehr gewünscht !"&chr(13)&Chr(10)&"Info D.Kuntz und R.Biermann"
	Else
	ThisComponent.store(true)
end if
end sub
In der Datei$ wäre im Falle des öffnen per Makro das aktuelle Datum enthalten. (Ursprünglich der Pfad und Dateiname der Datei)

Leider bringt aber dies alles nix. Diese Routine wird komischerweise nie aufgerufen (außer ich starte nen "ThisComponent.store()" dann ja .. aber das will ich ja nicht).

Mit anderen Worten so klappt das nicht.

Weiß jemand wie ich verhindern kann das der "Speichern unter" Dialog von OO geöffnet wird sobald ich versuche die "unbenannt" Datei zu speichern ?
Mir würde es auch reichen das Speichern grundsätzlich für diese Datei zu verhindern.

Mir gehen im Moment die Ideen aus.

Danke für Eure Hilfe schonmal im Vorfeld..
Daniel
Dateianhänge
So hab ich es bisher eingestellt
So hab ich es bisher eingestellt
Anpassen.jpg (47.94 KiB) 2976 mal betrachtet
Zuletzt geändert von der_Zerstreute am Mi, 25.03.2015 21:55, insgesamt 1-mal geändert.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datei Dialoge ersetzen ?!

Beitrag von Stephan »

Weiß jemand wie ich verhindern kann das der "Speichern unter" Dialog von OO geöffnet wird sobald ich versuche die "unbenannt" Datei zu speichern ?
leider nein
Mir gehen im Moment die Ideen aus.
wenn Deine Anwender nicht zu clever sind kannst Du das Menü und die Symbolleiste für das Dokument anpassen und bei den Speichern-Einträgen gleich ausehende Einträge hinterlegen die jedoch ein Makro von Dir starten.
Ich weiß nicht ob das Deinen Anforderungen genügt.



Gruß
Stephan
Dateianhänge
Speichern_blockieren.ods
(12.61 KiB) 139-mal heruntergeladen
der_Zerstreute
***
Beiträge: 62
Registriert: Do, 01.05.2008 11:33

Re: Datei Dialoge ersetzen ?!

Beitrag von der_Zerstreute »

Na toll letztes Post im Nirvana verschwunden :(...
Also nochmal ..

Hallo Stephan ,

Danke für deine schnelle und recht pfiffige Antwort. Hatte vollkommen vergessen das man ja Menüs an die Dateien koppeln kann.
Das behebt auf jeden Fall schonmal 70% der Speicheroptionen. Jedoch taucht jetzt ein neues Hindernis auf.

Wenn ich das so mache und nun das Dokument verändere kommt spätestens beim Schließen der Hinweis auf ungesicherte Änderung mit dem Angebot selbige zu sichern.
Spätestens hier komme ich wieder an den Speicherdialog.

Meine Idee wäre einfach das Flag für "geändert" zurückzusetzen [ThisComponent.ismodified()]. Die Frage ist nur habe ich da irgendwie zugriff drauf ?

Hier im System wird mir unterschiedlichen Versionen (leider auch stark veralteten) von OO gearbeitet ( von 2.x bis 3.0). In der 3.0 kommt es erschwerend noch zum Crash wenn ich versuche den Befehl "ThisComponent.close(true)" auszuführen. Was zum Datenverlust in anderen Dokumenten führen kann und somit nicht vertretbar ist.

Da ich selbst nicht Admin des Systems bin habe ich auch keinen Einfluß auf die installierten OO Versionen (hier besteht dann wohl dringender Gesprächsbedarf mit dem Admin ;) ).

Daher die Idee einfach das Flag zu ändern.

Hat dazu jemand eine idee ?
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Datei Dialoge ersetzen ?!

Beitrag von Stephan »

Meine Idee wäre einfach das Flag für "geändert" zurückzusetzen [ThisComponent.ismodified()]. Die Frage ist nur habe ich da irgendwie zugriff drauf ?

Code: Alles auswählen

ThisComponent.setModified(False)

Gruß
Stephan
Antworten