Calc Python Macro: Datum in Zelle schreiben

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

Moderator: Moderatoren

Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Calc Python Macro: Datum in Zelle schreiben

Beitrag von Karolus »

Hallo

Code: Alles auswählen

import datetime

context = XSCRIPTCONTEXT

def datum_a1():
    """
    Setzt das Datum im Iso-format: (jjjj-mm-dd) in Zelle A1.
    Mit: `Cell.Formula´ würde dieses Datum als serielle Tageszahl
    seit dem 30.12.1899 angezeigt. [ 3.11.1984 → 32084 ]
    """
    doc = context.getDocument()
    sheet = doc.CurrentSelection.Spreadsheet
    cell = sheet.getCellRangeByName('A1')
    datum = datetime.date(1987, 11, 3)
    cell.FormulaLocal = datum.isoformat()
    #cell.Formula = datum.isoformat() # Anzeige als serielle Zahl

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Calc Python Macro: Datum in Zelle schreiben

Beitrag von Karolus »

Hallo

Code: Alles auswählen

...
cell.FormulaLocal = datum.strftime('%d.%m.%Y')
...
http://docs.python.org/library/datetime ... e-behavior

Karolus

Ps. wenn dir Jahreszahl, Monat und Tag vorliegen, musst du dafür auch nicht datetime importieren, er reicht:

Code: Alles auswählen

context = XSCRIPTCONTEXT

def datum_a1():
    """
    """
    doc = context.getDocument()
    sheet = doc.CurrentSelection.Spreadsheet
    cell = sheet.getCellRangeByName('A1')
    cell.FormulaLocal = '%s.%s.%s' %( 3, 11, 1987 )
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten