por qué no funciona?
Publicado por titohernst (1 intervención) el 18/06/2009 12:13:05
Hola a todos:
Tengo una macro en excel que básicamente busaca archivos en un directorio con fecha de modificación posterior a un valor pedido por pantalla. El caso es que solo me funciona en un ordenador en concreto. He intentado ejecutarla por pasos en los demás ordenadores (todos son iguales en configuración y directorios, todo) y en la línea del .Execute() salta y no entra al bucle. Solo funciona en uno. ¿Por qué?
El código:
Sub Macro2()
Dim i, j As Long
Set fs = Application.FileSearch
With fs
.LookIn = "C:Sources"
.SearchSubFolders = True
.Filename = "*.*"
fecha = CDate(InputBox("forma (DD-MM-AAAA)"))
i = 2
If .Execute() > 0 Then
For j = 1 To .FoundFiles.Count
If FileDateTime(.FoundFiles(j)) > CDec(fecha) Then
Cells(i, 1) = .FoundFiles(j)
Cells(i, 2) = FileDateTime(.FoundFiles(j))
'Cells(i, 3) = CDec(FileDateTime(.FoundFiles(j)))
i = i + 1
End If
Next j
Else
End If
End With
Set fs = Nothing
End Sub
Tengo una macro en excel que básicamente busaca archivos en un directorio con fecha de modificación posterior a un valor pedido por pantalla. El caso es que solo me funciona en un ordenador en concreto. He intentado ejecutarla por pasos en los demás ordenadores (todos son iguales en configuración y directorios, todo) y en la línea del .Execute() salta y no entra al bucle. Solo funciona en uno. ¿Por qué?
El código:
Sub Macro2()
Dim i, j As Long
Set fs = Application.FileSearch
With fs
.LookIn = "C:Sources"
.SearchSubFolders = True
.Filename = "*.*"
fecha = CDate(InputBox("forma (DD-MM-AAAA)"))
i = 2
If .Execute() > 0 Then
For j = 1 To .FoundFiles.Count
If FileDateTime(.FoundFiles(j)) > CDec(fecha) Then
Cells(i, 1) = .FoundFiles(j)
Cells(i, 2) = FileDateTime(.FoundFiles(j))
'Cells(i, 3) = CDec(FileDateTime(.FoundFiles(j)))
i = i + 1
End If
Next j
Else
End If
End With
Set fs = Nothing
End Sub
Valora esta pregunta
0