2009-04-16 13 views
1

Merci pour l'aide sur mon previous question. Avec la suggestion que j'ai pu lire dans la ligne de texte du document Word. J'ai alors pu procéder à l'analyse de la ligne pour extraire le nom du fichier.Utilisez MS Word Macro pour rechercher un fichier texte

J'essaie maintenant de lancer une recherche de fichier en utilisant ce nom de fichier. Est-ce que quelqu'un a des suggestions sur comment utiliser MS Word Macro pour lancer une recherche de fichier texte? Je vais devoir trouver le fichier, l'ouvrir et ensuite chercher dans le fichier texte.

Toute aide sera appréciée. Merci!

Répondre

2

Pour la recherche, utilisez Application.FileSearch:

FileSearch Object

lecture, utilisez FileSystemObject

Recherche devrait être une simple question de InStr à partir de là.

1

Si vous le faites à partir de Word, le moyen le plus simple serait d'ouvrir le fichier texte dans Word et d'utiliser la fonctionnalité de recherche de Word. De cette façon, vous n'avez pas besoin d'implémenter votre propre fonctionnalité de recherche. Enregistrez simplement une macro de cette action: Ouvrez un fichier texte dans Word et recherchez une chaîne spécifique (Ctrl-F). Le résultat ressemble à ceci:

Sub Macro1() 

    Documents.Open FileName:="YourFile.txt", ConfirmConversions:=False, _ 
     ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _ 
     PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _ 
     WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:="", _ 
     Encoding:=1252 

    Selection.Find.ClearFormatting 

    With Selection.Find 
     .Text = "YourSearchText" 
     .Replacement.Text = "" 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = False 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
    End With 

    Selection.Find.Execute 

    If Not Find Is Nothing Then 
     ' your action here ' 
    End If 
End Sub 

Vous pouvez ensuite modifier la macro enregistrée en fonction de vos besoins.

Editer: Je vois que j'ai partiellement mal compris votre question. Ma réponse ne couvre que la recherche d'un fichier texte pour une chaîne spécifique, pas comment chercher dans le système de fichiers une liste de fichiers.