将一个数据源附加至某一指定文档,如果没有主文档,则将指定文档转换为主文档。
expression.OpenDataSource(Name, Format, ConfirmConversions, ReadOnly, LinkToSource, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Connection, SQLStatement, SQLStatement1, OpenExclusive)
expression 必需。该表达式返回一个 MailMerge 对象。
Name String 类型,必需。数据源文件名。您可以指定一个 Microsoft Query (.qry) 文件,而不必指定数据源、连接字符串及查询语句。
Format Variant 类型,可选。打开该文档的文件转换程序。可以是下列 WdOpenFormat 常量之一。若要指定一个外部文件格式,请用 FileConverter 对象的 OpenFormat 属性来确定用于本参数的值。
WdOpenFormat 可以是下列 WdOpenFormat 常量之一: |
wdOpenFormatAllWord |
wdOpenFormatAuto 默认值。 |
wdOpenFormatDocument |
wdOpenFormatEncodedText |
wdOpenFormatRTF |
wdOpenFormatTemplate |
wdOpenFormatText |
wdOpenFormatUnicodeText |
wdOpenFormatWebPages |
ConfirmConversions Variant 类型,可选。如果为 True,则当文件不是 Word 格式时,将显示“转换文件”对话框。
ReadOnly Variant 类型,可选。如果为 True,可以只读方式打开数据源。
LinkToSource Variant 类型,可选。如果为 True,则在每次打开主文档时都执行由 Connection 和 SQLStatement 指定的查询操作。
AddToRecentFiles Variant 类型,可选。如果为 True,则会将文件名添加至“文件”菜单底部的最近使用过的文件列表中。
PasswordDocument Variant 类型,可选。用于打开数据源的密码。
PasswordTemplate Variant 类型,可选。用于打开模板的密码。
Revert Variant 类型,可选。当 Name 是一个打开文档的文件名时,控制相应的操作。如果为 True,则放弃已打开文档中任何没有保存的更改,并重新打开文件;如果为 False,则激活已打开的文档。
WritePasswordDocument Variant 类型,可选。保存文档修改所需的密码。
WritePasswordTemplate Variant 类型,可选。保存模板修改所需的密码。
Connection Variant 类型,可选。一个范围,可在其中执行由 SQLStatement 指定的查询。指定范围的方法取决于检索数据的方法。例如:
SQLStatement Variant 类型,可选。为检索数据定义查询选项。
SQLStatement1 Variant 类型,可选。如果查询字符串超过 255 个字符,则 SQLStatement 指定字符串的第一部分,SQLStatement1 指定第二部分。
OpenExclusive Variant 类型,可选。如果为 True,则以独占方式打开。
若要确定 ODBC 连接和查询字符串,可手动设置查询选项,而用 QueryString 属性可返回连接字符串。下表包含了一些通常使用的 SQL 关键字。
关键字 | 说明 |
---|---|
DSN | ODBC 数据源的名称 |
UID | 用户登录 ID |
PWD | 用户指定的密码 |
DBQ | 数据库文件名 |
FIL | 文件类型 |
本示例创建一篇新的主文档并附加 Orders 表,该表来自 Microsoft Access 名为“Northwind.mdb”的数据库。
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource _
Name:="C:\Program Files\Microsoft Office" & _
"\Office\Samples\Northwind.mdb", _
LinkToSource:=True, AddToRecentFiles:=False, _
Connection:="TABLE Orders"
End With
本示例创建一篇新的主文档,并附加名为“Names.xls”的 Microsoft Excel 电子表格。Connection 参数用以从名为“Sales”的范围中检索数据。
Dim docNew As Document
Set docNew = Documents.Add
With docNew.MailMerge
.MainDocumentType = wdCatalog
.OpenDataSource Name:="C:\Documents\Names.xls", _
ReadOnly:=True, _
Connection:="Sales"
End With
本示例用 ODBC 将名为“Northwind.mdb”的 Microsoft Access 数据库附加于活动文档。SQLStatement 参数用来在 Customers 表中选择数据。
Dim strConnection As String
With ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
strConnection = "DSN=MS Access Databases;" _
& "DBQ=C:\Northwind.mdb;" _
& "FIL=RedISAM;"
.OpenDataSource Name:="C:\NorthWind.mdb", _
Connection:=strConnection, _
SQLStatement:="SELECT * FROM Customers"
End With