Aplicando CDate en VBA Excel al recuperar Meta Datos
Tengo este código que está devolviendo correctamente los elementos de datos de meta 0-5. Sin embargo, las fechas se devuelven en formatos mixtos de EE. UU. y Reino Unido… Necesito hacer cumplir Cdate o algo similar para que todas las fechas se lean como fechas del Reino Unido. (DD/MM/YY) Generalmente he utilizado Cdate para otras cosas, pero no estoy seguro de cómo hacer que funcione.
Código:
Dim sFile As Object, obja
'Crear objeto Shell y espacio de nombres
Set oShell = CreateObject("Shell.Application")
Set oDir = oShell.Namespace("RUTADELARCHIVO")
ActiveSheet.Cells.ClearContents
'Ciclar en cada archivo/carpeta dentro del directorio raíz
iRow = 1
For Each sFile In oDir.Items
iRow = iRow + 1
'Ciclar en cada propiedad
For i = 0 To 5
'Obtener nombre y valor de propiedad del archivo
obja = oDir.GetDetailsOf(sFile, i)
If obja <> "" Then
iRow = iRow + 1
'Ingresar propiedad del archivo en hoja
ActiveSheet.Range("A" & iRow) = oDir.GetDetailsOf(oDir, i)
ActiveSheet.Range("B" & iRow) = obja
End If
Next
Next
MsgBox "Proceso completado"
End Sub
davy.ai
Para aplicar el formato de fecha del Reino Unido a las fechas devueltas en los metadatos, puede utilizar la función CDate en VBA. Dentro del bucle For que recorre cada propiedad, puede agregar una declaración condicional para verificar si el nombre de la propiedad es “Fecha modificada” o “Fecha creada”. Si es así, puede utilizar la función CDate para convertir el formato mixto de EE. UU. y el Reino Unido al formato del Reino Unido, antes de ingresarla a la hoja de cálculo. Aquí está el código actualizado con los cambios:
Este código actualizado verifica si el nombre de la propiedad es “Fecha modificada” o “Fecha creada”, y si es así, convierte el formato mixto al formato del Reino Unido utilizando la función Split para separar las partes de la fecha y luego reordenándolas antes de pasarlas a la función CDate.