Ralph在每个段落的左侧编写需要特定字母字符的文档。这些字母应出现在页边距中,类似于行号。整个文档中的字符通常相同,这意味着它们在段落之间不会改变。 Ralph想知道是否有一种方法可以在每个段落旁边自动插入这些字符。

您可以使用几种方法来完成此任务。

首先,您可以在每个段落的开头键入字母字符,然后按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”,然后插入一个制表符。您可以轻松地修改此宏

将样式应用于段落时,该字母将自动出现,并且您无需键入它或使用制表符将其与段落的主体分开,则列表将使用字母字符作为项目符号。

到目前为止提到的两种方法对于相对简单的文档都可以快速,轻松地工作,但是,如果您的文档中包含常规编号或项目符号列表,则它们将不起作用,在这种情况下,您需要使用另一种方法-一种依赖于文本框的方法字母字符的位置。

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

对于复杂的文档,此方法可能更可取的原因是它不依赖于样式。这意味着您可以在文档中使用各种编号和项目符号列表,但每个段落左侧的空白处仍具有字母字符。

此外,可以设置文本框的格式,以使它们固定在每个段落上,并在Word重新分页文档时与该段落一起移动。

当然,如果您的文档中包含300个段落,则在每个段落中添加文本框可能很乏味,更不用说开始设置每个文本框格式时的麻烦了。同样,宏可以帮助减轻乏味。以下宏可用于自动将选定的文本框复制到文档中的所有其他段落。

要使用宏,请格式化一个小文本框来容纳您的字母字符。确保将文本框固定在放置在旁边的段落上,并且其位置相对于段落正确。一旦文本框看起来像您想要的样子,选择它,然后运行宏。文本框将被复制并粘贴到文档中的每个其他段落旁边。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

链接:/ wordribbon-WordTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(12738)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。