У Сэма есть документ, содержащий таблицы, из которых он хочет удалить некоторые строки. Строки содержат определенный текст, который он, безусловно, может удалить с помощью функции «Найти и заменить», но он хочет удалить все строки, содержащие этот текст.

Невозможно сделать это (удалить строки) с помощью обычных функций поиска и замены Word. Вместо этого вам нужно использовать макрос, который найдет текст, а затем удалит всю строку. Вот относительно простой макрос, который выполнит эту работу:

Sub DeleteRowWithSpecifiedText()

Dim sText As String

sText = InputBox("Enter text for Row to be deleted")

Selection.Find.ClearFormatting     With Selection.Find         .Text = sText         .Wrap = wdFindContinue     End With     Do While Selection.Find.Execute         If Selection.Information(wdWithInTable) Then             Selection.Rows.Delete         End If     Loop End Sub

Этот макрос сначала отображает поле ввода, в котором пользователю предлагается указать текст для поиска. Затем он начинает поиск всех экземпляров этого текста. Если экземпляр найден, то выбор проверяется, чтобы убедиться, что он находится в таблице. Если да, то вся строка удаляется, и макрос переходит к следующему вхождению.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (3838) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Finding_and_Deleting_Rows [Поиск и удаление строк].