编辑文字

   

本主题包含与下列任务相关的 Visual Basic 示例:

有关其他编辑任务的信息和示例,请参阅下列主题:

从文档返回文本

选定文档中的文本

将文本插入文档

修改文档的某一部分

确定文本是否被选定

Selection 对象的 Type 属性返回所选内容类型的信息。如果所选内容为插入点,则下列示例显示一条消息。

Sub IsTextSelected()
    If Selection.Type = wdSelectionIP Then MsgBox "Nothing is selected"
End Sub

折叠所选内容或区域

使用 Collapse 方法可将 SelectionRange 对象折叠到开始或结束点的位置。下列示例在所选内容的开头将所选内容折叠为一个插入点。

Sub CollapseToBeginning()
    Selection.Collapse Direction:=wdCollapseStart
End Sub

下列示例将区域折叠至其结束点(在第一个单词之后),并添加新文本。

Sub CollapseToEnd()
    Dim rngWords As Range

    Set rngWords = ActiveDocument.Words(1)
    With rngWords
        .Collapse Direction:=wdCollapseEnd
        .Text = "(This is a test.) "
    End With
End Sub

扩展所选内容或区域

下列示例使用 MoveEnd 方法扩展所选内容的结尾以包含三个附加的单词。MoveLeftMoveRightMoveUpMoveDown 方法也可以用于扩展 Selection 对象。

Sub ExtendSelection()
    Selection.MoveEnd Unit:=wdWord, Count:=3
End Sub

下列示例使用 MoveEnd 方法扩展区域,以包含活动文档中的前三个段落。

Sub ExtendRange()
    Dim rngParagraphs As Range

    Set rngParagraphs = ActiveDocument.Paragraphs(1).Range
    rngParagraphs.MoveEnd Unit:=wdParagraph, Count:=2
End Sub

重新定义 Range 对象

使用 SetRange 方法可重新定义现有的 Range 对象。有关详细信息,请参阅处理 Range 对象

更改文字

通过更改某一区域中的内容可更改现有的文字。下列指令通过将 Text 属性设为“The”来更改活动文档中的第一个单词。

Sub ChangeText()
    ActiveDocument.Words(1).Text = "The "
End Sub

也可以使用 Delete 方法删除现有文本,然后使用 InsertAfterInsertBefore 方法插入新文本。下列示例删除活动文档的第一段,并插入新文本。

Sub DeleteText()
    Dim rngFirstParagraph As Range

    Set rngFirstParagraph = ActiveDocument.Paragraphs(1).Range
    With rngFirstParagraph
        .Delete
        .InsertAfter Text:="New text"
        .InsertParagraphAfter
    End With
End Sub