У меня возникла проблема с созданием макроса Microsoft Word. Вот макрос, над которым я работаю. Он успешно выбирает каждую отдельную таблицу в текстовом документе.Microsoft Word VBA - выберите таблицу, если ячейка содержит указанную строку
Sub FindSpecificTables()
Selection.WholeStory
Dim iResponse As Integer
Dim tTable As Table
'If any tables exist, loop through each table in collection.
For Each tTable In ActiveDocument.Tables
tTable.Select
If response = vbNo Then Exit For 'User chose to leave search.
Next
MsgBox prompt:="Search Complete.", buttons:=vbInformation
End Sub
Однако мне нужно всего лишь выбрать таблицу, если таблица содержит указанную строку. Это должно быть достаточно простым, но я не могу понять это. Как искать таблицу для определенной строки?
Я пробовал скорректировать код со следующим условным заявлением:
If tTable.Cell(1, 1) = "Adjusted:" Then tTable.Select
; см. Пример ниже.
Sub FindSpecificTables()
Selection.WholeStory
Dim iResponse As Integer
Dim tTable As Table
'If any tables exist, loop through each table in collection.
For Each tTable In ActiveDocument.Tables
If tTable.Cell(1, 1) = "MySpecifiedString:" Then tTable.Select
If response = vbNo Then Exit For 'User chose to leave search.
Next
MsgBox prompt:="Search Complete.", buttons:=vbInformation
End Sub
К сожалению, это не работает. Является ли мой синтаксис неправильным? У вас есть предложения или рекомендации?
Кажется, что это работает. Спасибо за вашу помощь! – BlueFox
Убедитесь, что вы также вызываете '.Find.Replacement.ClearFormatting', так как' .Replacement' имеет '.ClearFormatting', который отделен от' .ClearFormatting' '.Find'. От https://msdn.microsoft.com/en-us/library/f1f367bx.aspx – BGeorge