本主题包含与下列任务相关的 Visual Basic 示例:
1.确定文本是否被选定
2.折叠选定内容或区域
3.扩展选定内容或区域
4.重新定义 Range 对象
5.更改文本
确定文本是否被选定
Selection 对象的 Type 属性返回所选内容类型的信息。
'如果所选内容为插入点,则下列示例显示一条消息"Nothing is Selected"。没选中任何问题
Sub IsTextSelected()
If Selection.Type = wdSelectionIP Then MsgBox "Nothing is selected"
End Sub
折叠所选内容或区域
使用 Collapse 方法可将 Selection 或 Range 对象折叠到开始或结束点的位置。下列示例在所选内容的开头将所选内容折叠为一个插入点。
Sub CollapseToBeginning()
Selection.Collapse Direction:=wdCollapseStart
'Selection.Collapse Direction:=wdCollapseEnd
End Sub
'这个是标准的折叠的程序,以后可能会用到的噢!
下列示例将区域折叠至其结束点(在第一个单词之后),并添加新文本。
Sub CollapseToEnd()
Dim rngWords As Range
Set rngWords = ActiveDocument.Words(1) '设置第一个单词为区域rngWords
With rngWords
.Collapse Direction:=wdCollapseEnd '折叠到最后,区域与可以折叠的噢!
.Text = "(This is a test.) " '在折叠的最后加入这些文字
End With
End Sub
扩展所选内容或区域
下列示例使用 MoveEnd 方法扩展所选内容的结尾以包含三个附加的单词(总共是4个!)。MoveLeft、MoveRight、MoveUp 和 MoveDown 方法也可以用于扩展 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 对象。
更改文字
通过更改某一区域中的内容可更改现有的文字。下列指令通过将 Text 属性设为“The”来更改活动文档中的第一个单词。
Sub ChangeText()
ActiveDocument.Words(1).Text = "The "
End Sub
也可以使用 Delete 方法删除现有文本,然后使用 InsertAfter 或 InsertBefore 方法插入新文本。下列示例删除活动文档的第一段,并插入新文本。
Sub DeleteText()
Dim rngFirstParagraph As Range
Set rngFirstParagraph = ActiveDocument.Paragraphs(1).Range
With rngFirstParagraph
.Delete
.InsertAfter Text:="New text"
.InsertParagraphAfter
End With
End Sub
'上面的这个例子我们通常不用,我们更喜欢用下面
Sub DeleteText1()
Dim rngFirstParagraph As Range
Set rngFirstParagraph = ActiveDocument.Paragraphs(1).Range
rngFirstParagraph.Text = "New text" & Chr(13)
End Sub