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).
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.