Используйте MS Word Macro для поиска текстового файла - PullRequest
1 голос
/ 16 апреля 2009

Спасибо за помощь по моему предыдущему вопросу . С предложением я смог прочитать строку текста из документа Word. Затем я смог приступить к разбору строки, чтобы вытащить имя файла.

Я сейчас пытаюсь начать поиск файла по этому имени. Кто-нибудь есть какие-либо предложения о том, как использовать MS Word Macro для запуска поиска текстового файла? Мне нужно будет найти файл, открыть его, а затем выполнить поиск в текстовом файле.

Любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

2 голосов
/ 16 апреля 2009

Для поиска используйте Application.FileSearch:

FileSearch Object

Чтение, использование FileSystemObject

Оттуда поиск должен быть простым делом InStr.

1 голос
/ 16 апреля 2009

Если вы делаете это из Word, самый простой способ - открыть текстовый файл в Word и использовать функцию поиска Word. Таким образом, вам не нужно реализовывать собственные функции поиска.

Просто запишите макрос этого действия: откройте текстовый файл в Word и найдите определенную строку (Ctrl-F). Результат выглядит примерно так:

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

Затем вы можете редактировать записанный макрос в соответствии с вашими потребностями.

Редактировать: Я вижу, что я частично неправильно понял ваш вопрос. Мой ответ только о том, как искать в текстовом файле определенную строку, а не о том, как искать в файловой системе список файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...