Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

В этом выпуске опубликованы следующие советы:


Word Expert - профессиональная работа с текстом

Выпуск рассылки №126 от 2008-12-12 09:06

В этом выпуске:

  1. Советы и подсказки
  2. Полезные ссылки
  3. Информация об авторских правах

Советы и подсказки

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

Вставка текста с полями в нижний колонтитул

Максим спрашивает:
Подскажите, пожалуйста, как должен выглядеть макрос, вставляющий в документ (Word-2003) нижний колонтитул примерно такого содержания - "Это мой документ, стр. ## из №№"? У меня не получается вставить одновременно и текст, и два поля, получается либо одно поле, либо текст.

Следующий макрос может решить эту задачу:
Sub TextFieldToFooter()
'  Вставка в нижний колонтитул всех разделов документа
'  текста вида "Это мой документ, стр. ## из №"
Dim hfRange As Range 'диапазон колонтитулов
Dim oSection As Section 'объявляем переменную для раздела
For Each oSection In ActiveDocument.Sections
   Set hfRange = oSection.Footers(wdHeaderFooterPrimary).Range
   With hfRange
      .Delete
      .Text = "Это мой документ, стр. "
      .MoveEnd wdCharacter, 1
      .Collapse wdCollapseEnd
      .Fields.Add Range:=hfRange, Type:=wdFieldPage, PreserveFormatting:=False
      .MoveEnd wdCharacter, 1
      .Collapse wdCollapseEnd
      .Text = " из "
      .MoveEnd wdCharacter, 1
      .Collapse wdCollapseEnd
      .Fields.Add Range:=hfRange, Type:=wdFieldNumPages, PreserveFormatting:=False
      .Fields.Update
   End With
Next oSection
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False  'скрываем коды полей
ActiveWindow.View.Type = wdPrintView    'переключаемся в режим Разметка страницы
ActiveWindow.View.Zoom.PageFit = wdPageFitBestFit  'формат по ширине страницы
End Sub
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:
Создание макроса из готового кода
Автоматическая запись макроса

Оставить комментарий | Задать вопрос

Поиск и подсвечивание одинаковых слов в документе

Вопрос от Александра:
Не могли бы вы подсказать. можно ли в Word XP сделать так, чтобы при двойном клике на любом слове в тексте, слова, похожие на него, высвечивались бы по всему документу. А потом, чтобы при очередном двойном клике все обратно бы гасло? Мне приходится достаточно много работать с текстом, править стилистику и подобной функции очень очень не хватает. Приходится постоянно лезть в поиск, менять его настройки и каждый раз прописывать нужное слово, бегая затем по всему документу. Очень неудобно...

Александр, увы, по двойному клику можно выделить только текущее слово, но никак не совершить дополнительные действия с текстом. Возможно, вам подойдет следующий макрос (подсказали код), позволяющий искать в тексте документа выделенное слово и подсвечивать найденные вхождения текущим цветом. То есть, вы выделяете интересующее вас слово и запускаете макрос (например, с помощью кнопки на панели инструментов). Макрос раскрасит текущим цветом все найденные слова.
К сожалению, просто выделить найденные слова редактор с помощью VBA не позволяет (по-крайней мере, специалисты так прокомментировали). Существуют определенные ограничения...
Вот код макроса:
Sub selectWord()
'Подсвечивание цветом найденных слов
Dim rTmp As Range
Set rTmp = ActiveDocument.Range
With rTmp.Find
   .Text = Selection.Text
   .Replacement.Text = ""
   .Replacement.Highlight = True
   .Execute Replace:=wdReplaceAll
End With
End Sub
Неудобство этого макроса в том, что он подсвечивает цветом найденные слова. И для того, чтобы убрать цветовое выделение, нужно либо выделить все и убрать выделение цветом (кнопка на панели инструментов), либо использовать похожий макрос:
Sub unSelectWord()
'Снятие выделение цветом
With Selection.Find
    .ClearFormatting
    .Highlight = True
    .Replacement.ClearFormatting
    .Replacement.Highlight = False
    .Text = ""
    .Replacement.Text = ""
    .Wrap = wdFindContinue
    .Format = True
    .Execute Replace:=wdReplaceAll
End With
End Sub
Оставить комментарий | Задать вопрос

Как вставить в документ поле со списком

Михаил спрашивает:
Как в ворде создать выпадающий список?

Аналогичный вопрос пришел и от Алексея:
Как в Word в сплошном тексте сделать выпадающие списки в нужных разделах, которые давали возможность пользователю выбирать только существующие записи, а основной текст документа пользователь не мог редактировать?

Для этого нужно использовать специальный инструмент редактора - списки. Кнопка "Поле со списком" располагается на панели инструментов Формы (рисунок).
В редакторе Word 2007 эта кнопка находится на вкладке Разработчик (рисунок).

В свойствах данных полей можно ввести нужные вам элементы списка.
После того, как вы установите в нужных местах эти списки и внесете в них данные для выбора, защитите документ, нажав на кнопку с изображением замка (панель инструментов "Формы" в Word 2003 или нажав кнопку Защитить документ (вкладка "Разработчик" в Word 2007).
Оставить комментарий | Задать вопрос

Как выделить все объекты Shapes на определенной странице

Борис интересуется:
Как программно выделить все обьекты Shapes, например, прямоугольники, находящиеся на определённой странице документа Word?

Борис, вот пример макроса, выделяет все графические объекты shapes во всем документе:
Sub selectAllShapes()
   ActiveDocument.Shapes.SelectAll
End Sub
Если надо выделить только на определенной странице, то можно использовать такой код:
Sub selectAllShapesFromPartPage()
'Выделение всех графических объектов на определенной странице
Dim MyRange As Range
Set MyRange = ActiveDocument.Range(0, 0)  'начало диапазона
Set MyRange = MyRange.GoTo(What:=wdGoToPage, Name:="3")  'задаем номер страницы
Set MyRange = MyRange.GoTo(What:=wdGoToBookmark, Name:="\page")   'переходим к заданной странице
   MyRange.ShapeRange.Select  'выделяем все spahes на данной странице
End Sub
Оставить комментарий | Задать вопрос

Полезные ссылки

Информация об авторских правах

Вся информация, представленная на сайте WordExpert.ru и в этой рассылке, никаким образом не связана с корпорацией Microsoft. В рассылке упоминаются компании и продукты, которые могут быть зарегистрированными торговыми марками и принадлежать различным физическим и юридическим лицам как на территории РФ, так и за ее пределами.

Авторские права на все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке (включая текст, фотографии, подборку, расположение и т.п.) принадлежат Кокину Антону Вадимовичу, если не указано иное. Вы можете свободно использовать и распространять эти материалы с обязательной ссылкой вида "Информация с сайта WordExpert.ru" и с обязательным указанием автора материала.

Все материалы, опубликованные на сайте WordExpert.ru и в этой рассылке, представлены на информационной основе. Вы можете использовать любую информацию с сайта WordExpert.ru или из данной рассылки исключительно на свой страх и риск. Тем не менее, я рекомендую перед применением какой-либо информации с сайта WordExpert.ru или из данной рассылки обязательно сохранять и создавать резервные копии ваших документов.

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


В избранное