Macros/General/005
TDF LibreOffice en español Document Liberation Project Blogs comunitarios Weblate Nextcloud Redmine Preguntas y respuestas Donar
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