Lister le contenu d'un dossier sans api, fso, filelistbox, etc ...

Contenu du snippet

Ce morceau de code n'a rien d'extraordinaire mais il peut être utile dans une macro (par exemple). Il sert à lister le contenu d'un dossier et affiche le résultat dans une combo (ou une liste, un treeview, etc ...).
C'est la seule méthode que j'ai trouvé dans Outlook pour effectuer cette opération. Si quelqu'un à une autre méthode, je suis prenneur ... par curiosité ;-)

Source / Exemple :


Dim temp As Word.Application
Dim dossier As String

Set temp = CreateObject("Word.Application")
Set fs = temp.FileSearch
dossier = "c:\Votre_dossier"

With fs
    .LookIn = dossier
    .FileName = "*.*"
    If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
        For i = 1 To .FoundFiles.Count
            Combo1.AddItem Left(Mid(.FoundFiles(i), Len(dossier)+2), Len(Mid(.FoundFiles(i), Len(dossier)+2)))
        Next i
    Else
        MsgBox "Aucun document n'a été trouvé dans le dossier", vbExclamation + vbOKOnly, "Erreur ..."
    End If
End With

temp.Quit
Set temp = Nothing
Set fs = Nothing
DoEvents

Conclusion :


PS: N'oubliez pas de rajouter une référence à Word dans votre projet (Normalement, l'objet FileSearch est disponnible avec les applications Office moins Outlook).

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.