MailMerge.CreateDataSource method (Word)

Creates a Microsoft Word document that uses a table to store data for a mail merge.

Syntax

expression.CreateDataSource (Name, PasswordDocument, WritePasswordDocument, HeaderRecord, MSQuery, SQLStatement, SQLStatement1, Connection, LinkToSource)

expression Required. A variable that represents a MailMerge object.

Parameters

Name Required/Optional Data type Description
Name Optional Variant The path and file name for the new data source.
PasswordDocument Optional Variant The password required to open the new data source.
WritePasswordDocument Optional Variant The password required to save changes to the data source.
HeaderRecord Optional Variant Field names for the header record. If this argument is omitted, the standard header record is used: "Title, FirstName, LastName, JobTitle, Company, Address1, Address2, City, State, PostalCode, Country, HomePhone, WorkPhone." To separate field names, use the list separator specified in Regional Settings in Control Panel.
MSQuery Optional Variant True to launch Microsoft Query, if it is installed. The Name, PasswordDocument, and HeaderRecord arguments are ignored.
SQLStatement Optional Variant Defines query options for retrieving data.
SQLStatement1 Optional Variant If the query string is longer than 255 characters, SQLStatement specifies the first portion of the string, and SQLStatement1 specifies the second portion.
Connection Optional Variant A range within which the query specified by SQLStatement will be performed.
LinkToSource Optional Variant True to perform the query specified by Connection and SQLStatement each time the main document is opened.

Security

Important

Avoid using hard-coded passwords in your applications. If a password is required in a procedure, request the password from the user, store it in a variable, and then use the variable in your code. For recommended best practices on how to do this, see Security notes for Office solution developers.

Remarks

When you use the CreateDataSource method, Word attaches the new data source to the specified document, which becomes a main document, if it is not one already.

How you specify the range for the Connection argument depends on how data is retrieved. For example:

  • When retrieving data through ODBC, you specify a connection string.

  • When retrieving data from Microsoft Office Excel using dynamic data exchange (DDE), you specify a named range.

  • When retrieving data from Microsoft Office Access, you specify the word "Table" or "Query" followed by the name of a table or query.

Example

This example creates a new data source document named "Data.doc" and attaches the data source to the active document. The new data source includes a five-column table that has the field names specified by the HeaderRecord argument.

ActiveDocument.MailMerge.CreateDataSource _ 
 Name:="C:\Documents\Data.doc", _ 
 HeaderRecord:="Name, Address, City, State, Zip"

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.