Utilizar "Application.FileSearch" en excel 2007

Espero me puedan ayudar con este error que me avienta excel 2007, el error que me avienta es :

(Se ha producido el error "445" en tiempo de ejecución
el objeto no admite esta acción)

y en visual basic me marca esto como amarillo : (Set fs = Application.FileSearch) dice que el objeto no admite esta acción, habrá algo que sustituya esto para que funcione mi macro en excel 2007, aclaro que en excel 2003 funciona sin problemas.

este es el código completo :

Sub LISTAR()
Application.ScreenUpdating = False
SearchPath = Cells(5, 3)
Set fs = Application.FileSearch
With fs
.LookIn = UserForm2.TextBox1.Value
.Filename = UserForm2.ComboBox1.Value
.SearchSubFolders = True
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Cells(i + 2, 5) = .FoundFiles(i)
Cells(i + 2, 6) = i
Cells(i + 2, 8) = .Filename
Next i
Else
mensaje = "No existen archivos con la extensión " & UserForm2.ComboBox1.Value
Estilo = vbOKOnly + vbExclamation
TITULO = "Listar & Organizar"
respuesta = MsgBox(mensaje, Estilo, TITULO)
End If
End With
Application.ScreenUpdating = True
End Sub

2 Respuestas

Respuesta
1

Tengo entendido que Application. Filesearch ya no esta disponible como objeto en Excel 2007.

Probablemente si mantienes el fichero como xls del 2003 y me cuentas que referencias están activas en VBA, podría hacer la prueba.

Haz probado con cambiar Application. FileSearch por Application. FindFile

Cuando cargues objetos en application, siempre que escribes el punto (dot) se despliega automáticamente las posibles opciones a utilizar y Filesearch ya no aparece.

Gracias por responder tan pronto, el archivo de excel de hecho lo tengo en 2003 y corre perfecto, pero en mi trabajo solo tengo disponible la version 2007,

En la version 2007 cuando cambio (Application.FileSearch por Application.FindFile) me dice que se requiere un objeto en el siguiente código :

Sub LISTARA()
Application.ScreenUpdating = False
SearchPath = Cells(5, 3)
Set fs = Application.FindFile
With fs
.LookIn = UserForm2.TextBox1.Value
.Filename = UserForm2.ComboBox1.Value
.SearchSubFolders = False
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Cells(i + 2, 5) = .FoundFiles(i)
Cells(i + 2, 6) = i
Cells(i + 2, 8) = .Filename
Next i
Else
mensaje = "No existen archivos con la extensión " & UserForm2.ComboBox1.Value
Estilo = vbOKOnly + vbExclamation
TITULO = "Listar & Organizar"
respuesta = MsgBox(mensaje, Estilo, TITULO)
End If
End With
Application.ScreenUpdating = True
End Sub

Lamentablemente no tengo la respuesta, trata de llevarle la pregunta a la experta elsa, ella podría saber como solucionarlo.

Respuesta
1

Creo que la La instrucción (no función) FileSearch porque en Excel 2007 ya no existe . te aconcejo usar una alternativa.

Añade tu respuesta

Haz clic para o