当使用 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 对象的宏。但是,用户通常可以用一个或几个 Range 对象来以很少的命令完成相同的任务。以下的示例是用宏录制器创建的。该宏对文档中的前两个单词进行加粗。 Selection. HomeKey Unit :=wdStory Selection. MoveRight Unit :=wdWord, Count:=2, Extend :=wdExtend Selection. Font.Bold = wdToggle 以下的示例没有使用 Selection 对象而完成了相同的任务。 ActiveDocument. Range (Start:=0, End :=ActiveDocument. Words(2). End) .Bold = True 以下的示例对文档中的前两个单词进行加粗,然后插入一个新的段落。 Selection. HomeKey Unit :=wdStory Selection. MoveRight Unit :=wdWord, Count :...