Символы на полях рядом с абзацами (Microsoft Word)
Ральф пишет документы, которые требуют определенных буквенных символов слева от каждого абзаца. Эти буквы должны появиться на полях, как номера строк. Символы обычно одинаковы для всего документа, то есть они не меняются от абзаца к абзацу. Ральф интересуется, есть ли способ автоматически вставлять эти символы рядом с каждым абзацем.
Есть несколько подходов, которые вы можете использовать для этого.
Во-первых, вы можете ввести альфа-символ в начале каждого абзаца и нажать клавишу TAB. Затем отформатируйте абзац так, чтобы в нем использовался выступ, который немного помещал первую строку в левое поле. Это можно легко сделать с помощью стилей, которые можно применить к абзацам.
Если у вас есть много абзацев, с которыми вы хотите сделать это, может быть утомительно набирать альфа-символ и нажимать Tab для каждого абзаца.
К счастью, легко создать макрос, который позаботится о вас.
Sub FmtParagraphs() Dim p As Paragraph For Each p In ActiveDocument.Content.Paragraphs If p.Style = "MyAlpha" Then With p.Range .InsertBefore "R" & Chr(9) End With End If Next p End Sub
Макрос ищет любой абзац в документе, в котором используется стиль MyAlpha. (Предполагается, что MyAlpha «является специальным стилем висячего отступа, который вы создали для реализации этого подхода.) Когда он находит, он вставляет букву» R «перед абзацем, а затем символ табуляции. Вы можете легко изменить этот макрос для проверки имени другого стиля или добавления другого альфа-символа.
Аналогичный подход заключается в определении стиля, который использует измененный маркированный список. Вместо использования обычного маркера вы можете определить список для использования альфа-символа в качестве маркера.При применении стиля к абзацам альфа-символ будет отображаться автоматически, и вам не нужно будет вводить его или табуляцию, чтобы отделить его от основной части абзаца.
|||| Оба упомянутых выше подхода работают быстро и легко для относительно простых документов. Однако они не будут работать, если ваши документы содержат обычные нумерованные или маркированные списки. В этом случае вам потребуется использовать другой подход — тот, который полагается на текстовые поля для размещение альфа-символа.
Причина, по которой этот подход может быть предпочтительнее для сложных документов, заключается в том, что он не полагается на стили. Это означает, что у вас может быть широкий спектр нумерованных и маркированных списков в ваших документах, но при этом альфа-символы по-прежнему будут располагаться слева от каждого абзаца на полях.
Кроме того, текстовые поля можно отформатировать так, чтобы они были привязаны к каждому абзацу и перемещались вместе с абзацем по мере того, как Word репагинирует документ.
Конечно, если у вас есть документ, в котором есть 300 абзацев, добавление текстовых полей к каждому абзацу может быть утомительным, не говоря уже о мучительном, когда вы начинаете форматировать каждое текстовое поле. Опять же, макросы могут помочь избавиться от скуки. Следующий макрос можно использовать для автоматического копирования выделенного текстового поля во все остальные абзацы документа.
Sub TextBoxesInMargin() Dim aShape As Shape Dim aPara As Paragraph Dim j As Long Dim shpTop As Single Dim shpLeft As Single Dim aRange As Range If ActiveDocument.Shapes.Count = 0 Then GoTo noTextbox If Selection.ShapeRange.Count <> 1 Then GoTo noTextbox Set aShape = Selection.ShapeRange(1) With aShape If .Type <> msoTextBox Then GoTo noTextbox If aShape.RelativeVerticalPosition <> wdRelativeVerticalPositionParagraph Then MsgBox "The text box must be positioned relative to a paragraph" Exit Sub End If shpTop = .Top shpLeft = .Left aShape.Select Selection.Copy End With For Each aPara In ActiveDocument.Paragraphs Set aRange = aPara.Range If Len(aRange.Text) > 1 Then ' only non blank paragraphs aRange.Select Selection.Paste Selection.ShapeRange.Top = shpTop Selection.ShapeRange.Left = shpLeft End If Next aPara Exit Sub noTextbox: MsgBox "Text box is not selected" End Sub
Чтобы использовать макрос, отформатируйте одно небольшое текстовое поле, чтобы оно содержало ваш альфа-символ. Убедитесь, что текстовое поле привязано к абзацу, рядом с которым вы его разместили, и что его положение правильное относительно абзаца. Когда текстовое поле будет выглядеть именно так, как вы хотите, выберите его и запустите макрос. Текстовое поле копируется и вставляется рядом с каждым другим абзацем в документе.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12738) относится к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.