Word VBA教程:编辑文字

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

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

从文档返回文本

选定文档中的文本

将文本插入文档

修改文档的某一部分

确定文本是否被选定

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


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

折叠所选内容或区域

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


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

Word VBA教程

Word VBA参考教程:目录1 Word VBA参考教程:目录2
Word VBA参考教程:目录3 Word VBA参考教程:目录4
Word VBA参考教程:目录5 Word VBA参考教程:目录6
Word VBA参考教程:目录7 Word VBA参考教程:目录8
Word VBA参考教程:目录9 Word VBA参考教程:目录10
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号