У меня более 300 страниц документа Word 2016, импортированного из другой программы с огромным количеством таблиц.В каждой ячейке таблицы есть хотя бы один знак абзаца.Я хочу найти и заменить каждый маркер абзаца ничем, но только в таблицах (в обычном тексте есть тонны других меток абзаца, которые я хочу оставить в покое).
Я могу использовать диалоговое окно «Найти / заменить»сделать это вручную, но это займет огромное количество кликов и времени.В диалоговом окне нет опции «только в таблицах», поэтому мне кажется, что мне нужно создать макрос VBA, но я никогда не делал этого раньше.Ниже приведен макрос, созданный путем записи действия «Найти / заменить знак абзаца в одной таблице».Что нужно изменить, чтобы включить эту функцию для одновременного использования всех таблиц?
Dim mytable As Table
Application.ScreenUpdating = False
For Each mytable In ActiveDocument.Tables
mytable.Range.Editors.Add wdEditorEveryone
Next
ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
Application.ScreenUpdating = True
End Sub
Sub FindReplaceInTable()
'
' FindReplaceInTable Macro
'
'
Selection.Tables(1).Select
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
Заранее спасибо.