Drive:Documents:Temporary File\如果用户的宏只用于一种文件系统,那么可以在FileName参数中指定路径分隔符(“\\”或者“:”),就如同上表所示的那样。以下示例显示了与文件系统无关的代码,可以用来打开Sales.doc,并且假定Sales.doc已经保存在Word 的程序文件夹中。
programPath = Options. DefaultFilePath (wdProgramPath) Documents. Open FileName :=programPath & Application. PathSeparator & \
PathSeparator属性返回当前文件系统(例如,“\\”用于MS-DOS/Windows的文件分配表,或者“:”用于Macintosh)的正确的文件分隔符。DefaultFilePath属性返回文件的位置,比如文档所在文件夹的路径、程序文件夹或者当前文件夹。
如果所指定的文件名既没有在当前文件夹(如果没有指定路径)出现也没有在指定的文件夹(如果指定了路径)中出现,那么就会发生错误。以下的示例使用FileSearch对象的属性和方法来判断名为“Test.doc”的文件是否存在于用户的默认文档文件夹中。如果找到了该文件(FoundFiles. Count = 1),那么就打开它;否则,显示一条消息。
defaultDir = Options. DefaultFilePath (wdDocumentsPath) With Application. FileSearch .FileName = \.LookIn = defaultDir
.Execute
If .FoundFiles. Count = 1 Then
Documents. Open FileName :=defaultDir & Application. PathSeparator & \
Else
MsgBox \End If End With
也可以允许用户选择要打开的文件,而不是定死Open方法的FileName参数值。如同以下示例所示的那样,可以使用带有wdDialogFileOpen常量的Dialogs属性来返回一个Dialog 对象,该对象表示“打开”对话框(在“文件”菜单中)。Show方法可以显示并且执行在“打开”对话框中完成的动作。
Dialogs (wdDialogFileOpen). Show
Display 方法只是用来显示特定的对话框而不作任何更多的操作。以下的示例检查Display方法的返回值。如果用户单击“确定”来关闭对话框,返回值-1并且打开所选择的文件,该文件的名字保存在变量fSelected中。
Set dlg = Dialogs (wdDialogFileOpen) aButton = dlg. Display fSelected = dlg. Name If aButton = -1 Then
Documents. Open FileName :=fSelected End If
要对如何显示Word对话框作进一步了解,请参阅“帮助”中的“显示内置Word 对话框”一节的内容。
要判断某个特殊的文档是否打开,可以使用一条For Each?Next语句来对Documents集合进行列举。如果名为“Sample.doc”的文档已经被打开了,以下的示例就激活它;如果它尚未被打开,则该示例会打开它。
docFound = True
For Each aDoc In Documents
If InStr (1, aDoc. Name, \aDoc. Activate Exit For Else
docFound = False End If Next aDoc
If docFound = False Then Documents. Open _ FileName :=\
可以使用Count属性来确定当前打开文档的数目。Count属性应用于Documents集合,可以使用Document属性返回该集合。如果没有已打开的文档,以下的示例会显示一条消息。
If Documents. Count = 0 Then MsgBox \documents are open\创建和保存文档
要创建一个新文档,可以对Documents集合应用Add 方法。以下的示例创建了一个新文档。
Documents. Add
Add方法返回了仅作为一个Document对象而创建的文档。当用户添加一个文档时,可以设置Add 方法的返回值是一个对象变量,以便用户可以在自己的代码中引用该新文档。以下的示例创建了一个新文档,并且设置它的上边距为1.25英寸。
Dim myDoc As Document Set myDoc = Documents. Add
myDoc. PageSetup. TopMargin = InchesToPoints(1.25) 第一次保存新文档时,可以随Document对象使用SaveAs方法。以下的示例将名为“Temp.doc”的活动文档保存在当前文件夹中。
ActiveDocument. SaveAs FileName :=\
在文档被保存之后,用户可以使用它的文档名来调整Document对象。以下的示例创建了一个新文档并且立刻把它保存为“1996 Sales.doc”。然后,该示例使用新名字来作Documents集合中的该文档的索引,并且向该文档添加一张表格。
Documents. Add.SaveAs FileName :=\Documents (\
Range :=Selection. Range, NumRows :=2, NumColumns :=4
要保存对一个已经存在的文档所进行的更改,可以随同Document对象使用Save方法。以下的指令保存了名为“Sales.doc”的文档。
Documents (\
如果用户随同一个尚未保存的文档或模板使用Save方法,将会显示“另存为”对话框来提示用户为该文件取名。要保存所有打开的文档,可以对Documents集合应用Save方法。以下的示例保存了所有打开的文档,但没有提示用户为文件取名。
Documents. Save NoPrompt :=True 激活一个文档
要使另一个文档成为活动文档,可以对Document对象应用Activate方法。以下的示例激活了打开的文档(MyDocument.doc)。
Documents (\
以下的示例打开了两个文档,然后激活其中的第一个文档(Sample.doc)。
Set
Doc1
=
Documents.
Open
(FileName :=\
Set
Doc2
=
Documents.Open
(FileName :=\
Doc1. Activate 打印一个文档
要打印一个文档,可以对Document对象应用PrintOut 方法,如以下示例所示。