Microsoft Word 对象(3) 返回Document对象用户可以使用语法Documents (index)来返回作为一个Document对象的任何打开的文档,在这里index是该文档的名字或索引号。在以下的示例中,变量myDoc包含一个Document对象,该对象代表名为“Report.doc”的打开的文档。Set myDoc = Documents ("Report.doc")索引号代表了文档在Documents集合中的位置。在以下的示例中,变量myDoc包含了一个Document对象,该对象代表Documents集合中的第一个文档。Set myDoc = Documents(1)注释 因为当用户添加或关闭多个文档时,某个特定文档的索引号会发生改变,所以最好使用文档的名字来对Documents集合中的Document对象进行索引。除了通过文档的名字或索引号来引用文档,还可以使用ActiveDocument属性来返回一个引用活动文档(当前着眼的文档)的Document对象。以下的示例显示产活动文档的名字;如果没有打开的文档,则该示例显示一条消息。If Documents. Count >= 1 Then MsgBox ActiveDocument. NameElseMsgBox "No documents are open"End If打开文档要打开一个已经存在的文档,可以使用Open方法。Open方法应用于通过Document属性返回的Documents集合。以下的示例打开了文件Test.doc(从当前文件夹)并且启动了更改跟踪。Set myDoc = Documents. Open (FileName :="TEST.DOC")myDoc. TrackRevisions = True注意到在上例中Open方法的返回值是一个Document对象,该对象表示刚被打开的文档。在此示例中的文件名不包含路径;因此,是假定了该文件在当前的文件夹中。但这会导致出现一个运行时错误,因为一旦用户创建了与当前文件夹不同的文件夹,Visual Basic就再也找不到该文件了。但是,用户可以通过指明完整的路径,就如同下表所示的那样,来确保打开正确的文件。操作系统FileName参数WindowsFileName :="C:\Documents\Temporary File.doc" MacintoshFileName :="Hard Drive:Documents:Temporary File" 如果用户的宏只用于一种文件系统,那么可以在FileName参数中指定路径分隔符(“\”或者“:”),就如同上表所示的那样。以下示例显示了与文件系统无关的代码,可以用来打开Sales.doc,并且假定Sales.doc已经保存在Word 的程序文件夹中。programPath = Options. DefaultFilePath (wdProgramPath)Documents. Open FileName :=programPath & Application. PathSeparator & "SALES.DOC"PathSeparator属性返回当前文件系统(例如,“\”用于MS-DOS/Windows的文件分配表,或者“:”用于Macintosh)的正确的文件分隔符。DefaultFilePath属性返回文件的位置,比如文档所在文件夹的路径、程序文件夹或者当前文件夹。如果所指定的文件名既没有在当前文件夹(如果没有指定路径)出现也没有在指定的文件夹(如果指定了路径)中出现,那么就会发生错误。以下的示例使用FileSearch对象的属性和方法来判断名为“Test.doc”的文件是否存在于用户的默认文档文件夹中。如果找到了该文件(FoundFiles. Count = 1),那么就打开它;否则,显示一条消息。