Seite 1 von 1
Speichern verhindern
Verfasst: So, 22.11.2009 18:22
von gigabert
Hallo,
gibt es eine Möglichkeit, dass ich ein Speichern der eingetragenen Werte in ein Calc-Sheet verhindern kann? Ich hab zwei Druckbereiche angelegt, die nur ausgedruckt aber nicht gespeichert werden sollen. Das heisst, die Felder sollen beim nächsten Öffnen der Datei wieder zurückgesetzt (leer) sein, bzw. einige Vorgabewerte sollen eingetragen sein. Beim Schliessen der Datei wird der Benutzer aber gefragt, ob die Datei gespeichert werden soll, und dann sind beim nächsten Mal die altenDaten drin. Das würde ich gerne verhindern wollen. Ich bin nun gerade dabei, die Felder direkt nach dem Öffnen der Datei per Makro auf ihren Defaultwert (hauptsächlich leer bzw. null) zu setzen. Das erscheint mir aber etwas umständlich. Gibt es da nicht eine bessere Möglichkeit?
Gruss
Bert
Re: Speichern verhindern
Verfasst: So, 22.11.2009 18:54
von turtle47
Hallo Bert,
warum verwendest Du dazu keine
Dokumentvorlage?
Jürgen
Re: Speichern verhindern
Verfasst: Mo, 23.11.2009 18:22
von gigabert
turtle47 hat geschrieben:Hallo Bert,
warum verwendest Du dazu keine
Dokumentvorlage?
Jürgen
Hallo Jürgen,
leider bin ich mit Calc bzw. OpenOffice noch nicht so ganz vertraut. Ich hab mir das mit den Dokumentvorlagen mal angeschaut. So wie das dort (in dem Link) beschrieben ist, kann ich ja meine Calc-Datei (*.ods) einfach als Dokumentenvorlage (*.ots) abspeichern. Leider funktionieren dann aber meine Basic-Makros nicht mehr, die ich in der ods-Datei erstellt hatte. Die waren dort in der Datei abgespeichert und wurden nicht übernommen. Muss ich die in der Dokumentenvorlage neu anlegen oder kann ich die irgendwie mit übernehmen? Ich möchte auch später, dass die Calc-Datei aus einer Base-Datei heraus geöffnet wird (über einen Button oder Menü). Ist das mit der Dokumentenvorlage möglich? Und noch 'ne Frage: Wenn ich die Dokumentenvorlage öffne, öffnet sich ja eigentlich ein neues Dokument (nur abgeleitet von der Vorlage). Wie kann ich ich bei diesem Dokument verhindern, dass es abgespeichert wird? Am liebsten wäre mir ein Button oder Menüpunkt ("Schließen"), der das Dokument ohne Nachfrage zum Speichern schließt. Aber wahrscheinlich ist das eine Frage für das Basic-Forum.
Gruss
Bert
Re: Speichern verhindern
Verfasst: Mo, 23.11.2009 19:29
von turtle47
Hi Bert,
gigabert hat geschrieben:So wie das dort (in dem Link) beschrieben ist, kann ich ja meine Calc-Datei (*.ods) einfach als Dokumentenvorlage (*.ots) abspeichern.
Genau so ist es.
gigabert hat geschrieben:Leider funktionieren dann aber meine Basic-Makros nicht mehr, die ich in der ods-Datei erstellt hatte. Die waren dort in der Datei abgespeichert und wurden nicht übernommen.
Dann ist da etwas schiefgelaufen.
Es muss funktionieren, denn ich noch vor kurzem jemanden eine Vorlage mit Makros erstellt.
gigabert hat geschrieben:Am liebsten wäre mir ein Button oder Menüpunkt ("Schließen"), der das Dokument ohne Nachfrage zum Speichern schließt.
Dann nehme doch einfach folgenden Code den Du auf die Schaltfläche legst:
Code: Alles auswählen
Sub Close_Doc
oDoc = ThisComponent
oDoc.close(true)
End Sub
Dann wird das Doc ohne wenn und aber geschlossen.
Jürgen
Re: Speichern verhindern
Verfasst: Mo, 23.11.2009 22:33
von gigabert
turtle47 hat geschrieben:Hi Bert,
gigabert hat geschrieben:Leider funktionieren dann aber meine Basic-Makros nicht mehr, die ich in der ods-Datei erstellt hatte. Die waren dort in der Datei abgespeichert und wurden nicht übernommen.
Dann ist da etwas schiefgelaufen.
Es muss funktionieren, denn ich noch vor kurzem jemanden eine Vorlage mit Makros erstellt.
Na ja, ich bekomme einen "BASIC-Laufzeitfehler: Objektvariable nicht belegt." Und zwar gibt's dann, als ich eine der Checkboxen angeklickt hatte, die ja einem Formular innerhalb der Calc-Datei zugeordnet sind und mit den Basic-Makros bei Zustandsveränderungen etwas tun sollen. Die fehlende Objektvariable scheint die des Formulares zu sein, die ich beim Start/Öffnen des Dokumentes in einer Modul global anlege. Aber ich habe jetz auch nochmal andere Makros getestet, also solche, die z.B. direkt nach dem Öffnen der Datei einen Vorgabewert in eine Zelle eintragen soll. Der Wert wird nicht in die Zelle reingeschrieben, im Gegensatz zu der ods-Datei. Auch eine MsgBox zum Testen wird in der Dokumentenvorlage nicht nicht angezeigt. Die Makros scheinen aber vorhanden zu sein, ich kann die Standard-Bibliothek mit den Modulen jedenfalls sehen.
Hmm, ich beschreib mal, wie ich vorgegangen bin:
Und zwar hatte ich ja die ods-Datei. Diese habe ich mit "Speichern unter..." als ots-Datei in einem Ordner abgespeichert, und mir dann als Verknüpfung auf den Desktop gelegt. Dann klicke ich doppelt auf das Verknüpfungs-Icon auf dem Desktop, und das Dokument "Unbenannt1" öffnet sich. In der ods-Datei gibt es ein Makro, welches beim Start/Öffnen der Datei ausgeführt wird. Diese scheint bei der ods-Datei aber nicht ausgeführt zu werden.
gigabert hat geschrieben:Am liebste]wäre mir ein Button oder Menüpunkt ("Schließen"), der das Dokument ohne Nachfrage zum Speichern schließt.
Dann nehme doch einfach folgenden Code den Du auf die Schaltfläche legst:
Code: Alles auswählen
Sub Close_Doc
oDoc = ThisComponent
oDoc.close(true)
End Sub
Dann wird das Doc ohne wenn und aber geschlossen.
Ohne zu speichern oder nach dem Speichern zu fragen? Das wäre ja super. Ich probiere das gleich mal aus...
Gruss
Bert
Re: Speichern verhindern
Verfasst: Mo, 23.11.2009 22:41
von gigabert
turtle47 hat geschrieben:Dann wird das Doc ohne wenn und aber geschlossen.
OK, das mit dem Schliessen über den Button funktioniert, so wie ich es gerne hätte. Ich werde mir dann nur noch die Sub-Routine anpassen, dass vorher ein Flag gesetzt wird, wenn das Dokument ausgedruckt wurde, und wenn nicht, dann vor dem Schliessen noch ein Hinweis bzw. eine Abfrage kommt und nochmal gedruckt werden kann, bevor das Dokument komplett verschwindet.
Gruss
Bert