Access - buscar un archivo en el disco duro con modulo

 
Vista:

buscar un archivo en el disco duro con modulo

Publicado por FRANCISMAC (10 intervenciones) el 04/06/2003 18:27:43
Pues eso, que necesito buscar el mismo archivo que esten repetidos en el disco duro, y sus direcciones.
Saludos
FRANCISMAC
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

buscar un archivo en el disco duro con modulo

Publicado por Alejandro (4142 intervenciones) el 28/04/2023 22:51:10
Para buscar archivos duplicados en una carpeta específica en el disco duro y obtener sus direcciones, puedes utilizar el siguiente código VBA en un módulo de Access:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Public Sub FindDuplicateFiles(ByVal FolderPath As String)
    Dim fso As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim fileDictionary As Object
    Dim key As Variant
 
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set objFolder = fso.GetFolder(FolderPath)
    Set fileDictionary = CreateObject("Scripting.Dictionary")
 
    ' Recorrer todos los archivos en la carpeta y subcarpetas
    For Each objFile In objFolder.Files
        ' Si el archivo ya se encuentra en el diccionario, agregarlo a la colección de archivos duplicados
        If fileDictionary.Exists(objFile.Name) Then
            fileDictionary(objFile.Name).Add objFile.Path
        Else
            ' De lo contrario, agregar el archivo al diccionario
            Set fileDictionary(objFile.Name) = New Collection
            fileDictionary(objFile.Name).Add objFile.Path
        End If
    Next objFile
 
    ' Imprimir la lista de archivos duplicados y sus ubicaciones
    For Each key In fileDictionary
        If fileDictionary(key).Count > 1 Then
            Debug.Print "Archivo duplicado: " & key
            For Each objFile In fileDictionary(key)
                Debug.Print "Ubicación: " & objFile
            Next objFile
        End If
    Next key
End Sub

Para ejecutar la función, puedes llamarla desde un botón en un formulario o desde el editor de VBA. Asegúrate de reemplazar el valor de `FolderPath` con la ruta de la carpeta que deseas buscar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar