Статьи из блога
Макрос вставки разрыва страницы перед некоторым словом
Сергей спрашивает:
Как реализовать макрос, который бы по тексту расставлял разрыв страницы в определенных местах, например, перед словом "Отчет"?
Можно использовать следующий макрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 |
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:
Создание макроса из готового кода
Рубрика: Вопрос-Ответ, Макросы
Метки: макросы | поиск и замена | разделы | разрывы
Просмотров: 24678
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | поиск и замена | разделы | разрывы
Просмотров: 24678
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Абзац с цветным фоном
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Белый текст на синем фоне в Word 2007
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрый ввод текста с помощью команды =rand()
- Ввод повторяющихся фрагментов текста в Word 2007
- Ввод часто повторяющихся фрагментов текста
- Вертикальное выравнивание текста
- Возможно ли запретить копирование текста из документа Word?
- Вопрос о работе с графиками (диаграммами) в Word
- Вопросы и ответы о гиперссылках в редакторе Word
Комментариев: 11
не работает у меня этот макрос, ошибру пишет. А так, он мне бы очень пригодился...
Михаил, что именно за ошибка вам выдается?
Прошу прощения, Антон. Макрос скорее всего работает. Просто я искал макрос аналогичного действия для 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
Спасибо ОГРОМНОЕ. Все работает просто СУППЕР!
Спасибо за код!
Но после вставки макроса и его запуска выдает ошибку 450.
При запуске Debug выделяет желтым "With Selection.Find".
Что я неправильно делаю?
Обратитесь на наш форум, там помогут.
Как сделать чтоб разрыв страницы вставлялся на каждой странице автоматически?
Добрый день.
Вы могли бы подсказать как поменять код, чтобы разрыв проставлялся перед КАРТИНКОЙ?
Спасибо.