Как узнать, содержит ли страница в текстовом документе комбинацию определенного текста? - PullRequest
0 голосов
/ 24 января 2019

Я новичок в слове interop.

У меня есть документ с текстом ниже, вставленным только в начале таблицы.

OAAssistant3 | Таблица | Заголовок | После | N | T** Не удаляйте этот текст ** <> {TN} GRA302

На всех других страницах в него вставлено только {TN}.

Как узнать, есть ли на странице вхождениятекст, имеющий как 'OAAssistant3', так и {TN}?

Этот текст 'OAAssistant3' является скрытым текстом, но {TN} не является скрытым текстом.

Я использовал приведенный ниже код для поиска{TN} Но я хочу выяснить, есть ли на странице OAAssistant3 и {TN}.

Как я могу это сделать?

    Dim tableNameSearchRange As Word.Range = document.WordDocument.Content

    With tableNameSearchRange
        .TextRetrievalMode.IncludeHiddenText = False
        .TextRetrievalMode.IncludeFieldCodes = False
        .Find.Text = "\{TN*\}?"
        .Find.MatchWildcards = True
        .Find.Forward = True
        .Find.Wrap = Word.WdFindWrap.wdFindStop
    End With

1 Ответ

0 голосов
/ 25 января 2019

Предполагая, что вы хотите заменить TN - ваше описание проблемы здесь и в другом потоке неясно - в VBA вы бы делали это с помощью следующего кода:

Sub Demo()
Application.ScreenUpdating = False
Dim i As Long
With ActiveDocument.Range
  With .Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "OAAssistant3[!^13\{]@\{TN"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchWildcards = True
    .Execute
  End With
  Do While .Find.Found
    i = i + 1
    .Start = .End - 2
    .Text = i
    .Collapse wdCollapseEnd
    .Find.Execute
  Loop
End With
Application.ScreenUpdating = True
End Sub

Форматируется ли какой-либо тексткак скрытый не имеет никакого значения.Я оставлю это вам для преобразования .NET.

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