Стили и форматирование

Стили и форматирование

Олег интересуется:

Как реализовать (макрос или, может, автотекст с полем?) вставку кусочка текста с цифрами, которые возрастают по принципу n+1? Например, "бла-бла-бла [71] и бла-бла-бла-бла [72], и еще бла-бла-бла [73]", при этом [^#^#] вставляем нажатием одной комбинации клавиш. Чувствую, что это как-то связано с полем нумерации, но как?

В качестве бонуса еще было бы замечательно, если бы этот кусочек вставлялся в заранее заданном формате, а не в формате окружающего его текста.

Олег, решение подсказал Александр Витер. Он предложил использовать поле последовательной нумерации SEQ. Вот что он написал:

 

Можно сделать элемент автотекста, который содержит в себе поле SEQ и вставлять его куда нужно.

 

Например, код поля можно задать так: { SEQ нумерация \* MERGEFORMAT }. Окружить его квадратными скобками и добавить в автотекст. На этот автотекст поставить сочетание клавиш и все. И таких списков может быть сколько угодно. У меня получалось без проблем использовать 6 таких последовательностей. Они отличаются друг от друга только идентификаторами (в примере идентификатором последовательности является слово «нумерация»)

Если есть вопросы, задавайте.

Вопрос от Макса:

Нужно в документе WORD сделать обтекание текстом ВСЕХ рисунков. Как это сделать? По одному делается без проблем, но их очень много, а всех вместе никак...

Попробуйте такой макрос (на копии документа - на всякий случай):

Sub wrapImages()
'Обтекание текстом для всех типов графических объектов
Dim pic As Object
On Error Resume Next
For Each pic In ActiveDocument.Content.InlineShapes
  If pic.Type = wdInlineShapePicture Then
   pic.InlineShapes(1).ConvertToShape
   pic.ShapeRange.WrapFormat.Type = wdWrapTight
  End If
Next
For Each pic In ActiveDocument.Content.ShapeRange
  If pic.Type = msoPicture Then
   pic.ShapeRange.WrapFormat.Type = wdWrapSquare
  End If
Next
End Sub

Вопрос от Светланы:

На странице имеется объект, например shape1. Его необходимо перенести в колонтитулы этой же страницы. Каким образом это возможно сделать на vba?

Светлана, если у вас в документе действительно содержится объект shape (автофигура), то вот пример макроса, который занесет эту фигуру в верхний колонтитул:

Подробнее

Вопрос от Сергея:

Необходимо реализовать замену нескольких пробелов в тексте на один, при этом не использовать диалог "Найти и заменить" (даже программно), то есть реализовать надо макросом с простым перебором в цикле. Помогите, пожалуйста.

Сергей, вот пример такого макроса, предложенного Александром Витером:

Подробнее

Надежде потребовалась помощь по специальному макросу. Она пишет:

Дан текст. Нужен макрос, который бы нумеровал каждый абзац, и при этом номер был бы красного цвета. Вот с цветом у меня и проблема. Заранее благодарю.

Для этой цели нет необходимости писать макрос или вообще использовать макрокоманды. Если используется стандартный стиль "Нумерованный список по умолчанию", то достаточно лишь изменить этот стиль.

Подробнее

Макс спрашивает:

Как сделать нумерацию через страницу?

Собственно говоря, вопрос следовало бы уточнить, но автор не откликнулся. Поэтому я предложил следующее решение.

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

Для версии редактора Word 2003

В меню Файл выберите команду Параметры страницы и перейдите на вкладку Источник бумаги. Установите флажок на параметре "Различать колонтитулы четных и нечетных страниц" и, закрыв это диалоговое окно, вставьте нумерацию страниц.

Для версии редактора Word 2007

Перейдите на вкладку Разметка страницы и в группе команд Параметры страницы нажмите на кнопку вызова диалогового окна (маленькая кнопочка в правом нижнем углу группы команд). Откроется стандартное окно Параметры страницы. Установите флажок на параметре "Различать колонтитулы четных и нечетных страниц" и, закрыв это диалоговое окно, вставьте нумерацию страниц.

^ Наверх