Share via


Método MailMerge.OpenDataSource (Word)

Adjunta un origen de datos al documento especificado que se convierte en el documento principal si aún no lo es.

Sintaxis

expresión. OpenDataSource( _Name_ , _Format_ , _ConfirmConversions_ , _ReadOnly_ , _LinkToSource_ , _AddToRecentFiles_ , _PasswordDocument_ , _PasswordTemplate_ , _Revert_ , _WritePasswordDocument_ , _WritePasswordTemplate_ , _Connection_ , _SQLStatement_ , _SQLStatement1_ , _OpenExclusive_ , _SubType_ )

expresión requerida. Variable que representa un objeto 'MailMerge'.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Name Obligatorio String El nombre de archivo del origen de datos. Se puede especificar un archivo de Microsoft Query (.qry) en lugar de especificar un origen de datos, una cadena de conexión y una cadena de consulta.
Format Opcional Variant El convertidor de archivos que se usó para abrir el documento. Puede ser una de las constantes WdOpenFormat. Para especificar un formato de archivo externo, se usa la propiedad OpenFormat con el objeto FileConverter para determinar el valor que se va a usar con este argumento.
ConfirmConversions Opcional Variant True para mostrar el cuadro de diálogo Convertir archivo si el archivo no está en formato de Microsoft Word.
ReadOnly Opcional Variant True para abrir el origen de datos como de solo lectura.
LinkToSource Opcional Variant True para realizar la consulta especificada en Connection y SQLStatement cada vez que se abre el documento principal.
AddToRecentFiles Opcional Variant True para agregar el nombre de archivo a la lista de archivos usados recientemente en la parte inferior del menú Archivo.
PasswordDocument Opcional Variant La contraseña que se usa para abrir el origen de datos. (Ver los comentarios abajo).
PasswordTemplate Opcional Variant La contraseña que se usa para abrir la plantilla. (Ver los comentarios abajo).
Revert Opcional Variant Controla lo que sucede si Name es el nombre de archivo de un documento abierto. True para descargar los cambios no guardados en el documento abierto y volver a abrir el archivo; False para activar el documento abierto.
WritePasswordDocument Opcional Variant La cadena que se usa para guardar cambios en el documento. (Ver los comentarios abajo).
WritePasswordTemplate Opcional Variant La contraseña que se usa para guardar los cambios realizados en la plantilla. (Ver los comentarios abajo).
Connection Opcional Variant Rango dentro del cual debe realizarse la consulta especificada en SQLStatement. (Consulte las observaciones a continuación).
SQLStatement Opcional Variant Define las opciones de consulta para recuperar datos. (Ver los comentarios abajo).
SQLStatement1 Opcional Variant Si la cadena de consulta tiene más de 255 caracteres, SQLStatement especifica la primera parte de la cadena y SQLStatement1 especifica la segunda parte. (Consulte las observaciones a continuación).
OpenExclusive Opcional Variant True para abrir en modo exclusivo.
SubType Opcional Variant Puede ser una de las constantes WdMergeSubType.

Comentarios

Para determinar la conexión ODBC y las cadenas de consulta, deben establecerse las opciones de consulta de forma manual y se debe usar la propiedad QueryString para devolver la cadena de conexión. La tabla a continuación incluye algunas de las palabras clave de SQL que se usan habitualmente.

Palabra clave Descripción
DSN El nombre del origen de datos ODBC
UID El id. de inicio de sesión del usuario
PWD La contraseña especificada por el usuario
DBQ El nombre de archivo de la base de datos
FIL El tipo de archivo

Para indicar a Word que use el mismo método de conexión que en versiones anteriores de Word (Intercambio dinámico de datos (DDE) para Microsoft Office Access y orígenes de datos de Microsoft Office Excel) use SubType:=wdMergeSubTypeWord2000.

El modo en que se especifica el intervalo depende del modo en que se recuperan los datos. Por ejemplo:

  • Cuando se recuperan datos mediante la conectividad abierta de bases de datos (ODBC), se especifica una cadena de conexión.

  • Cuando se recuperan datos desde Excel mediante el intercambio dinámico de datos (DDE), se especifica un rango con nombre.

  • Cuando se recuperan datos desde Access, se especifica la palabra "Tabla" o "Consulta" seguida del nombre de una tabla o consulta.

Importante

No use contraseñas codificadas de forma rígida en las aplicaciones. Si se requiere la contraseña en un procedimiento, pídale la contraseña al usuario, almacénela en una variable y luego use la variable en el código. Para conocer los procedimientos recomendados sobre cómo hacerlo, consulte Notas de seguridad para desarrolladores de soluciones de Office.

Ejemplo:

En este ejemplo, se crea un nuevo documento principal y se adjunta la tabla Pedidos perteneciente a una base de datos de Access denominada "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

En este ejemplo se crea un nuevo documento principal y se adjunta la hoja de cálculo de Excel denominada Names.xls. El argumento Connection recupera datos del rango denominado "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

En este ejemplo se usa ODBC para adjuntar la base de datos de Access denominada "Northwind.mdb" al documento activo. El argumento SQLStatement selecciona los registros en la tabla 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

Consulte también

Objeto MailMerge

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.