Nachdem ich noch einmal genauer hingeschaut habe, wird mir klar, dass
die Funktion niemals funktioniert. Denn LO führt das Makro offenbar aus,
bevor die Komponente geladen wird.
Meine scheinbar positiven Tests haben die DocumentProperties aus einer
schon vorher geöffneten Datei bezogen, die mit ThisDocument referenziert
wurde. Ich habe mich täuschen lassen.
Es geht wohl wirklich nur, wenn das Makro in der Standard-Bibliothek des
Dokuments gespeichert ist.
Schöne Grüße
Volker
Am 06.06.21 um 11:50 schrieb Volker Lenhardt:
Offensichtlich ist die BackingComp-Komponente das LO-Startfenster. Denn
wenn LO zugleich mit einem Doppelklick im Dateimanager auf die
Calc-Datei gestartet wird, ist zu dem Zeitpunkt der Fehlermeldung noch
gar keine Komponente geöffnet.
Keine Ahnung, wie man das Problem lösen könnte.
Schöne Grüße
Volker
Am 05.06.21 um 16:20 schrieb Volker Lenhardt:
Sorry, da wurde ich Opfer eines Schreibfehlers in meinem Test-Skript.
Die einzige geöffnete Komponente trägt den Namen
com.sun.star.comp.sfx2.BackingComp.
Was das ist, muss ich noch herausfinden.
sgv
Am 05.06.21 um 16:12 schrieb Volker Lenhardt:
Hallo Boris,
ich habe jetzt einmal ein wenig herumgespielt und festgestellt, dass
die Funktion - unter der Annahme, dass sie in der Standard-Bibliothek
der Anwendung gespeichert ist - ohne Fehler durchläuft, wenn die
Datei aus einer schon bestehenden LO-Umgebung geöffnet wird, egal ob
aus der Liste der zuletzt verwendeten Dokument oder über den
Öffnen-Dialog oder durch Doppelklick auf den Dateinamen im
OS-Dateimanager.
Der Fehler tritt nur auf, wenn die Datei im LO-Startfenster als
zuletzt verwendetes Dokument oder LO erst durch Doppelklick auf den
Dateinamen im OS-Dateimanager gestartet wird. Das liegt wohl daran,
dass der Stardesktop zu diesem Zeitpunkt noch keine Komponente
enthält, außer der IDE, die für die Fehlermeldung geöffnet wurde.
Wie man das Problem lösen kann, weiß ich allerdings nicht.
Schöne Grüße
Volker
Am 03.06.21 um 14:14 schrieb Boris Kirkorowicz:
Hallo,
um das Speicherdatum automatisiert in eine Zelle zu bekommen, habe ich
folgendes Makro (nicht von mir, sondern gefunden gekriegt) in mein
Calc-Dokument eingebaut:
REM ***** BASIC *****
Function ChangedOn() As Date
Dim oSheet As Object
Dim ChgDate As Variant
oSheet = ThisComponent()
ChgDate = oSheet.DocumentProperties.ModificationDate
' ChgDate ist leer, wenn das Dokument noch nie gespeichert
wurde. In diesem Fall CreationDate nutzen
If ChgDate.Year = 0 Then
ChgDate = oSheet.DocumentProperties.CreationDate
End If
ChangedOn = DateSerial(ChgDate.Year, ChgDate.Month, ChgDate.Day)
End Function
Dieses Makro nutze ich, indem ich es in der gewünschten Zelle mit
=CHANGEDON()
aufrufe.
Beim Öffnen des Tabellendokuments begegnet mir die Meldung:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: DocumentProperties.
Nach manuellem Aktualisieren mit [Strg]+[Shift]+[F9] ist allerdings das
Speicherdatum in der Zelle korrekt. Für die Funktion scheint es nicht
direkt schädlich zu sein, aber es stört natürlich, wenn man erst einmal
zwei Fenster (die Meldung und das Makro-Fenster) schließen muss, bevor
man arbeiten kann, und es macht keinen guten Eindruck, wenn man die
Tabelle weiterreicht.
Was bedeutet diese Meldung?
Wie lässt sich das abstellen?
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy