当使用 Visual Basic 时一个常见的任务就是在文档中指定一块区域,然后对它进行处理,比如插入文字或应用格式等
例如,用户可能想编写一个宏,来对文档中某个部分里的某个单词或短语进行定位
那就可以使用一个 Range 对象来表示想在其中搜索特定单词或短语的部分文档
在确定 Range 对象后,用户能够应用该对象的方法和属性来修改相应范围中的内容
一个 Range 对象代表了文档中的一块连续的区域
每一个 Range 对象都由一个起始字符位置和一个终止字符位置来定义
与用户在文档中使用书签的方法类似,可以在 Visual Basic 中使用 Range 对象来识别一个文档的特定部分
一个 Range 对象既可以和插入点一样小,也可以和整个文档一样大
但是,与书签不同,Range 对象仅仅在定义它的过程正在运行时才存在
Range 对象同选定内容相互独立;也就是说,可以定义和修改范围而不会改变选定内容
用户也可以在文档中定义多个范围,而此时每个文档窗格中仅有一个选定内容
Start、End 和 StoryType 属性唯一地确定了一个 Range 对象
Start 和 End 属性分别返回或者设置 Range 对象的起始和结束字符的位置
每个文档构成部分起始处的字符位置是 0 (zero),而第一个字符之后的位置是 1,依此类推
StoryType 属性的 WdStoryType常量可以表示十一种不同的文档构成部分类型
例如,如果在注脚区域中有一个 Range 对象,那么 StoryType 属性返回 wdFootnotesStory
要对文档构成部分作进一步了解,请参阅本节后面的“运用文档构成部分”一节的有关内容
使用 Range 对象来代替 Selection 对象 宏录制器会经常创建一个使用 Selection 属性来控制操纵 Selection 对象的宏