Soms is het handig om in een Calc bestand vast te leggen wanneer dat voor het laatst is opgeslagen en/of afgedrukt.
Na veel zoekwerk en het nodige plagiaat heb ik daarvoor een macro samengesteld die bij het opslaan van een Calc bestand de datum in Cel B3 plaatst.
Sub SetSaveDateInCell
Dim oSheet As Object
Dim oCell As Object
Dim lFormatID As Long
' Vervang "Blad1" door de naam van het werkblad
oSheet = ThisComponent.Sheets.getByName("Informatie")
' Vervang "A1" door de cel waarin de datum moet komen
oCell = oSheet.getCellRangeByName("B3")
' Voeg de huidige datum en tijd in (als een vaste waarde)
oCell.NumberFormat = 130 'oCell.NumberFormat = “DD-MM-JJJJ hh:mm:ss” als alternatief
oCell.Value = Now()
End Sub
Dat werkt, maar als ik deze macro in een ander Calc bestand gebruik dan verschijnt niet de datum in het gewenste format ( DD-MM-JJJJ hh:mm:ss ) maar de datum als getal zonder opmaak. Er gaat dus iets fout met de formatcode van het datumveld.
Ik heb tijdens mijn speurtocht gelezen dat het beter is een aangepast datumformat te forceren met oCell.NumberFormat = “DD-MM-JJJJ hh:mm:ss” in plaats van oCell.NumberFormat = 130, maar dat levert ook niet het gewenste resultaat op.
Wie heeft de oplossing zodat ik deze macro in meerdere Calc bestanden kan gebruiken met als resutaat overal hetzelfde format van het datumveld??
Alvast bedankt!