Il metodo presentato da @charlie funziona solo in LibreOffice, vorrei mostrarti un modo che funziona sia in OpenOffice che in LO:
Codice: Seleziona tutto
Sub Leggi_data
Dim oDrawPage As Variant
Dim oForms As Variant
Dim DT As Variant
oDrawPage = ThisComponent.DrawPage.Forms
oForms = oDrawPage.getByName("MainForm")
Dim unoDate As NEW com.sun.star.util.Date
DT = Now()
unoDate.Year = Year(DT)
unoDate.Month = Month(DT)
unoDate.Day = Day(DT)
oForms.updateDate(oForms.findColumn("Data"), unoDate)
oForms.updateRow()
end sub
Apportando lievi modifiche a questo codice, puoi adattarlo al campo dell'ora:
Codice: Seleziona tutto
Dim unoDate as new com.sun.star.util.Time
DT = Now()
unoDate.Hours = Hour(DT)
unoDate.Minutes = Minute(DT)
unoDate.Seconds = Second(DT)
oForms.updateTime(oForms.findColumn("Time"), unoDate)
E anche i campi del timestamp:
Codice: Seleziona tutto
Dim unoDate as new com.sun.star.util.DateTime
DT = Now()
with unoDate
.Year = Year(DT)
.Month = Month(DT)
.Day = Day(DT)
.Hours = Hour(DT)
.Minutes = Minute(DT)
.Seconds = Second(DT)
end with
oForms.updateTimestamp(oForms.findColumn("DataTime"), unoDate)
Nota: i nomi dei campi "Data", "Time" e "DataTime" sono i nomi dei campi della tabella di origine.
Scrivo con l'aiuto di google traduttore, quindi mi scuso per eventuali errori.