VBA .Execute findText: = несколько вариантов - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть скрипт, который просматривает около 800 документов и добавляет некоторые формулировки в определенный раздел.В большинстве случаев этот раздел будет иметь очень специфическую формулировку, но она не всегда будет одинаковой.

Я хотел бы создать для макроса способ поиска нескольких различных возможностей, пока что для фактического поиска и добавления у меня есть следующее:

Sub newLines()
    With Selection.Find
        .Execute findText:="specific wording"
    End With

    Selection.EndOf unit:=wdCell
    Selection.TypeParagraph
    Selection.Paste

End Sub

Я бы хотелсоздайте что-то, что дает параметру findText:= дополнительные параметры.

.Execute findText:= "specific wording" Or "specific wording 2" Or "specific wording3"

Это просто код pusdo, но если есть что-то, что может дать мне такую ​​функциональность, я был бы очень признателен.

1 Ответ

0 голосов
/ 29 ноября 2018

Два примера для вас.Как сказала Синди.Старайтесь избегать выбора, но я знаю, что иногда это невозможно.

Sub test1()
    Dim i As Long
    Dim arr As Variant
    arr = Array("specific wording 2", "specific wording 3", "specific wording 4")

    Selection.Find.ClearFormatting
    For i = LBound(arr) To UBound(arr)
        Selection.HomeKey wdStory
        Selection.Find.Execute FindText:=arr(i)
        Do While Selection.Find.Found
            'do your stuff
            Selection.Find.Execute
        Loop
    Next i
End Sub



Sub test2()
     Selection.Find.ClearFormatting
     Selection.Find.MatchWildcards = True
     Selection.HomeKey wdStory
     Selection.Find.Execute FindText:="specific wording [0-9]"
     Do While Selection.Find.Found
         'do your stuff
         Selection.Find.Execute
     Loop
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...