Macros/General/005
TDF LibreOffice Document Liberation Blogs comunitarios Weblate Nextcloud Redmine Ask LibreOffice Apoyo al proyecto
Descripción
La función FileDateTime(Texto como Cadena)
toma la ruta de ubicación del archivo como cadena de parámetro de entrada y devuelve los caracteres que contienen la fecha y hora de creación o última modificación de un archivo. El resultado si no se especifica ningún formato es: MM/DD/AAAA HH:MM:SS. Por ejemplo, MsgBox FileDateTime("/home/usuario1/Documentos/foo.
odt")
.
De hecho, esta función estaba sujeta al error tdf#63306 en algunas versiones intermedias de LibreOffice.
La API de LibreOffice[1] le permite sortear este error y también ofrece otras potentes funciones de acceso a archivos.
El ejemplo a continuación muestra cómo recuperar la fecha y hora de creación o última modificación de un archivo a través del método getDateTimeModified.[2]
El método toma una URL y devuelve una estructura llamada DateTime[3]. La visualización del resultado se logra mediante la conversión a través de CDateFromUnoDateTime o mediante la función Format[4]
Código
en LibreOffice Basic:
Option Explicit
Sub DateTimeInfo()
'''Muestra la fecha y la hora de la última modificación de un archivo específicado'''
Dim oSFA As Object
Dim oDateFile As New com.sun.star.util.DateTime
Dim sUrl As String
sUrl = "/home/user1/Documents/foo.odt"
oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
oDateFile = oSFA.getDateTimeModified(convertToURL(sUrl))
MsgBox CDateFromUnoDateTime(oDateFile),0, "DateTimeInfo()"
With oDateFile
MsgBox "Fecha y hora de la última información modificada desde" & CHR$(10) & _
sURL & " :" & CHR$(10) & CHR$(10) & _
.year & format(.month, "-00-") & format(.day, "00") & " " & _
format(.hours, " \@\ 00") & format(.minutes, "\:00\:") & format(.seconds, "00") _
,0, "DateTimeInfo()"
End With
End Sub ' DateTimeInfo()
Notas
- ↑ La API (interfaz de programación de aplicaciones) de LibreOffice permite la interacción con varios lenguajes de programación.
- ↑ Consulte la documentación de la API para la interfaz XSimpleFileAccess.
- ↑ Consulte la documentación de la API para la estructura DateTime
- ↑ Consulte text/sbasic/shared/03120301.html?DbPAR=BASIC la documentación para la función Format