Статьи из блога
Статьи из блога
Макрос вставки разрыва страницы перед некоторым словом
Рубрика: Вопрос-Ответ, Макросы
Метки: макросы | поиск и замена | разделы | разрывы
Среда, 9 апреля 2008 г.
Просмотров: 2952
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | поиск и замена | разделы | разрывы
Среда, 9 апреля 2008 г.
Просмотров: 2952
Подписаться на комментарии по RSS
Версия для печати
Сергей спрашивает:
Как реализовать макрос, который бы по тексту расставлял разрыв страницы в определенных местах, например, перед словом "Отчет"?
Можно использовать следующий макрос:
Sub insBreakPage()
'Вставка разрывов страниц перед словом "Отчет"
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchCase = True 'Учитываем регистр искомого слова
.Text = "Отчет" 'ищем слово
.Replacement.Text = "^m^&^p" 'производим замену
.Execute Replace:=wdReplaceAll
End With
End Sub
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Поиск
Рубрики
Подписка
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 7
не работает у меня этот макрос, ошибру пишет. А так, он мне бы очень пригодился...
Михаил, что именно за ошибка вам выдается?
Прошу прощения, Антон. Макрос скорее всего работает. Просто я искал макрос аналогичного действия для Excel в поисковике, а натолкнулся на ваш и пытался его вставить в excel.
как сделать, чтоб перед первым попавшимся словом вставлять разрыв?
Подскажите пожалуйста, как изменить этот макрос так, чтобы разрыв страницы происходил ПОСЛЕ каждого пятого найденного слова Отчет?
Артем, попробуйте вот такой макрос:
Sub insBreakPageAfter5word() 'Вставка разрывов страниц после каждого 5-го слова "Отчет" Dim i As Long Selection.HomeKey Unit:=wdStory 'переходим в начало документа With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Forward = True .Wrap = wdFindContinue .MatchCase = True 'Учитываем регистр искомого слова .Text = "Отчет" 'ищем слово 'Запускаем цикл поиска Do While .Execute i = i + 1 'считаем найденные слова If i = 5 Then Selection.Collapse wdCollapseEnd Selection.InsertBreak wdPageBreak i = 0 'обнуляем счетчик для нового отсчета End If Loop MsgBox "Закончено" End With End SubСпасибо ОГРОМНОЕ. Все работает просто СУППЕР!