Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2011, 00:43   #1
duhamuk
 
Регистрация: 27.04.2011
Сообщений: 5
По умолчанию Макрос, поиск и замена текста

Здравствуйте! Подскажите можно ли написать макрос, который производит поиск и удалит текст во всем документе указанный в таком формате: "[начальный текст]...[конечный текст]"?
duhamuk вне форума Ответить с цитированием
Старый 08.07.2011, 19:07   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,126
По умолчанию

1
можно
2
как
макрос на запись
в найти текст
в заменить ""
ОК???
Ципихович Эндрю вне форума Ответить с цитированием
Старый 09.07.2011, 00:50   #3
duhamuk
 
Регистрация: 27.04.2011
Сообщений: 5
По умолчанию

Я имел в виду - как контейнер:
"
<имя_контейнера>
содержимое
</имя_контейнера>
"
Таких контейнеров в файле много у них разное содержимое.
т.к. содержимое контейнера разное, я указываю только начало(<имя_контейнера>) и конец(</имя_контейнера>), макрос находит все контейнеры с таким именем и удаляет их вместе с содержимым.
duhamuk вне форума Ответить с цитированием
Старый 10.07.2011, 20:55   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Попробуйте. Можно брать имена из отдельного файла, если это не разовая задача.
Код:
Sub Макрос1()
Dim sName$
Do
    sName = InputBox("Введите имя контейнера (без знаков '<','>'):")
    If sName = "" Then Exit Do
    Selection.HomeKey unit:=wdStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "\<" & sName & "\>*\</" & sName & "\>"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchControl = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Loop
End Sub
Имена НЕ проверяются на наличие служебных символов режима подстановочных знаков!
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 10.07.2011 в 20:59.
Казанский вне форума Ответить с цитированием
Старый 15.07.2011, 19:40   #5
duhamuk
 
Регистрация: 27.04.2011
Сообщений: 5
По умолчанию

То что нужно! Благодарю!
duhamuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и замена текста в надписях Word shakycucumber Общие вопросы Delphi 2 19.04.2011 02:18
Проблема поиск и замена текста(Delphi) KirkMETAL Помощь студентам 4 26.07.2010 08:41
Поиск и замена текста Jantar Общие вопросы Delphi 10 26.07.2010 08:26
Поиск и замена текста в файле VAbramyak Общие вопросы Delphi 3 04.04.2007 20:20
поиск и замена текста в RichEdit Vasya Помощь студентам 11 16.03.2007 06:48