Function CalcDoc_Modification_Date()
sTemp = "n/a"
oDoc = thisComponent
If IsNull( oDoc ) THEN
CalcDoc_Modification_Date() = sTemp
msgbox "oDoc null"
Exit Function
End If
If IsEmpty( oDoc ) THEN
CalcDoc_Modification_Date() = sTemp
msgbox "oDoc empty"
Exit Function
End If
' da hier als Calc-Funktion ("cf_")genutzt:
' Abfrage des Dokumententyps
If oDoc.supportsService("com.sun.star.sheet.SpreadsheetDocument" ) Then
' neue Eigenschaft ab OOo 3.0.0
cf_oDAT = oDoc.DocumentProperties.ModificationDate
' work with DocInfo
If IsEmpty( cf_oDAT ) Then
sTemp = "n/a"
else
With cf_oDAT
' set return format
' force month and day to two digits
sTemp = _
Format( .Day, "0#" ) & "." & _
Format( .Month, "0#" ) & "." & _
.Year
End With
End If 'gefülltes Objekt
' assign func return value
CalcDoc_Modification_Date = sTemp
End If ' check DOK
End Function
Damit soll das Datum der letzten Änderung angezeigt werden. Was auch passiert. Zumindest bis ich das Dokument wieder öffne. Dann bekomme ich folgende Fehlermeldung:
Hallo
Das Dokumentobjekt ist noch nicht "vollständig" zu dem Zeitpunkt wenn die Funktion evaluiert wird. → Hol dir das Modification_Date nicht per Calcfunktion, sondern schreibe das Änderungsdatum per Sub zB. beim/vorm Schliessen des Dokuments in die gewünschte Zelle.
Nachtrag: in LO 3.3 und 3.2 gibts bei der Benutzung als Funktion keine Fehlermeldung beim Öffnen.
Nachtrag2: ...wenn die Funktion im Dokument "aufbewahrt" wird.
Gruß Karo
Zuletzt geändert von Karolus am Fr, 17.06.2011 19:26, insgesamt 2-mal geändert.
LO7.4.7.2debian 12(bookworm) auf Raspberry5 8GB (ARM64) LO25.2.3.2 flatpakdebian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus hat geschrieben:Hol dir das Modification_Date nicht per Calcfunktion, sondern schreibe das Änderungsdatum per Sub zB. beim/vorm Schliessen des Dokuments in die gewünschte Zelle.
Entweder das, oder Du packst die Funktion in das Dokument selber - dann kann das Evaluieren erst erfolgen, wenn das Dokument schon geladen ist, das dürfte auch keine Fehlermeldung mehr produzieren.
...oder Du packst die Funktion in das Dokument selber - dann kann das Evaluieren erst erfolgen, wenn das Dokument schon geladen ist, das dürfte auch keine Fehlermeldung mehr produzieren.
Klar, natürlich - genau das hab ich beim Testen gerade "instinktiv" auch gemacht.
Gruß Karo
LO7.4.7.2debian 12(bookworm) auf Raspberry5 8GB (ARM64) LO25.2.3.2 flatpakdebian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus hat geschrieben:Hol dir das Modification_Date nicht per Calcfunktion, sondern schreibe das Änderungsdatum per Sub zB. beim/vorm Schliessen des Dokuments in die gewünschte Zelle.
Entweder das, oder Du packst die Funktion in das Dokument selber - dann kann das Evaluieren erst erfolgen, wenn das Dokument schon geladen ist, das dürfte auch keine Fehlermeldung mehr produzieren.