Méthode MailMerge.OpenDataSource (Word)
Associe une source de données au document spécifié, lequel devient alors un document principal s'il ne l'est pas déjà.
expression. OpenDataSource
( _Name_
, _Format_
, _ConfirmConversions_
, _ReadOnly_
, _LinkToSource_
, _AddToRecentFiles_
, _PasswordDocument_
, _PasswordTemplate_
, _Revert_
, _WritePasswordDocument_
, _WritePasswordTemplate_
, _Connection_
, _SQLStatement_
, _SQLStatement1_
, _OpenExclusive_
, _SubType_
)
expression Obligatoire. Variable qui représente un objet « MailMerge ».
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Name | Obligatoire | String | Nom de fichier de la source de données. Vous pouvez spécifier un fichier Microsoft Query (.qry) à la place d'une source de données, d'une chaîne de connexion et d'une chaîne de requête. |
Format | Facultatif | Variant | Le convertisseur de fichier utilisé pour ouvrir le document. Il peut s’agir d’une des constantes WdOpenFormat. Pour spécifier un format de fichier externe, appliquez la propriété OpenFormat à un objet FileConverter afin de connaître la valeur à affecter à cet argument. |
ConfirmConversions | Facultatif | Variant | True: pour afficher la boîte de dialogue Convertir si le fichier n'est pas au format Microsoft Word. |
ReadOnly | Facultatif | Variant | True: pour ouvrir la source de données en lecture seule. |
LinkToSource | Facultatif | Variant | True pour effectuer la requête spécifiée par Connection et SQLStatement à chaque ouverture du document principal. |
AddToRecentFiles | Facultatif | Variant | True pour ajouter le nom de fichier à la liste des fichiers récemment utilisés en bas du menu Fichier. |
PasswordDocument | Facultatif | Variant | Mot de passe à spécifier pour ouvrir la source de données. (Voir les remarques ci-dessous.) |
PasswordTemplate | Facultatif | Variant | Mot de passe à spécifier pour ouvrir le modèle. (Voir les remarques ci-dessous.) |
Revert | Facultatif | Variant | Contrôle que se passe-t-il si le nom est le nom de fichier d'un document ouvert. True : pour ignorer les modifications apportées au document ouvert depuis son dernier enregistrement et rouvrir le fichier, False : pour activer le document ouvert. |
WritePasswordDocument | Facultatif | Variant | Mot de passe à spécifier pour enregistrer les modifications apportées au document. (Voir les remarques ci-dessous.) |
WritePasswordTemplate | Facultatif | Variant | Mot de passe à spécifier pour enregistrer les modifications apportées au modèle. (Voir les remarques ci-dessous.) |
Connection | Facultatif | Variant | Plage dans laquelle la requête spécifiée par SQLStatement doit être exécutée. (Voir les remarques ci-dessous.) |
SQLStatement | Facultatif | Variant | Définit les options de la requête à utiliser pour extraire des données. (Voir les remarques ci-dessous.) |
SQLStatement1 | Facultatif | Variant | Si la chaîne de la requête dépasse 255 caractères, l'argument InstructionSQL en spécifie la première partie, et l'argument InstructionSQL1 la seconde. (Voir les remarques ci-dessous.) |
OpenExclusive | Facultatif | Variant | True: pour effectuer l'ouverture en mode exclusif. |
SubType | Facultatif | Variant | Il peut s’agir d’une des constantes WdMergeSubType. |
Pour déterminer les chaînes de connexion ODBC et de requête, définissez les options de la requête manuellement, puis utilisez la propriété QueryString pour renvoyer la chaîne de connexion. Le tableau suivant répertorie certains des mots clés SQL couramment utilisés.
Mot clé | Description |
---|---|
DSN | Nom de la source de données ODBC |
UID | Identificateur de connexion de l'utilisateur |
PWD | Mot de passe spécifié par l'utilisateur |
DBQ | Nom de fichier de la base de données |
FIL | Type de fichier |
Pour indiquer à Word d’utiliser la même méthode de connexion que dans les versions antérieures de Word (Dynamic Data Exchange (DDE) pour les sources de données Microsoft Office Access et Microsoft Office Excel), utilisez SubType:=wdMergeSubTypeWord2000
.
La manière dont vous pouvez spécifier la plage dépend du mode d'extraction des données. Par exemple :
Si vous utilisez ODBC (Open Database Connectivity) pour extraire les données, spécifiez une chaîne de connexion.
Si vous utilisez l'échange dynamique de données (DDE) pour extraire des données d'Excel, indiquez une plage nommée.
Si les données sont extraites d'Access, spécifiez le mot « Table » ou « Requête » suivi du nom d'une table ou d'une requête.
Important
Évitez d’utiliser des mots de passe codés en dur dans vos applications. Si un mot de passe est requis dans une procédure, demandez-le à l’utilisateur, stockez-le dans une variable, puis utilisez la variable dans votre code. Pour connaître les meilleures pratiques recommandées sur la façon de procéder, consultez Notes de sécurité pour les développeurs de solutions Office.
Cet exemple montre comment créer un document principal et lui associer la table « Orders » qui se trouve dans la base de données 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
Cet exemple crée un document principal et joint la feuille de calcul Excel nommée Names.xls. L'argument Connection permet de récupérer les données de la plage nommée « 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
Cet exemple utilise ODBC pour joindre la base de données Access « Northwind.mdb » au document actif. L'argument SQLStatement sélectionne les enregistrements de la table 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
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.