2010-03-03 7 views
0

Je ne sais pas pourquoi mon code ne fonctionne pas .. Je code vba dans Access 03 qui ouvre un document Word qui exécute un processus de publipostage. Lorsque le code s'exécute, il me demande ce que sont les délimiteurs d'en-tête. J'ai spécifié ceux dans le fichier d'exportation comme une virgule pour un délimiteur de champ et comme le délimiteur d'enregistrement. Après que je confirme ceci dans le mot, j'obtiens une erreur de temps d'exécution.VBA - Fusion et publipostage via un accès

L'erreur que j'obtiens est: Erreur d'exécution '5922': Impossible d'ouvrir la source de données.

strExportFullyQualifiedName est un fichier texte qui est exporté avec les noms des champs énumérés là qui est utilisé comme fichier source de données.

J'ai vérifié les liens et vérifier, tout existe. La connexion n'est pas en cours. strExportFullyQualifiedName est l'emplacement du fichier txt.

With objWordDoc 
     .MailMerge.OpenDataSource _ 
      Name:=strExportFullyQualifiedName, Format:=wdOpenFormatAuto, _ 
      ConfirmConversions:=False, ReadOnly:=False, SubType:=wdMergeSubTypeAccess, AddToRecentFiles:=False 
     .MailMerge.Destination = wdSendToNewDocument 
     .MailMerge.MainDocumentType = wdDirectory 
     .MailMerge.SuppressBlankLines = True 
    End With 

Merci!

Répondre

1

Avez-vous une référence à la bibliothèque Word (code Fenêtre-> Outils-> References)? Sinon, vous aurez besoin d'utiliser les valeurs des constantes intégrées telles que wdOpenFormatAuto

EDIT re Commentaire

Comme vous avez un fichier texte, je ne crois pas que vos types sont corrects. Essayez quelque chose comme:

''To create output, if required 
''DoCmd.TransferText acExportDelim, , "qryMailMerge", strExportFullyQualifiedName, True 

With objWordDoc 
    .MailMerge.OpenDataSource _ 
     Name:=strExportFullyQualifiedName, Format:=wdOpenFormatText 
    .MailMerge.Destination = wdSendToNewDocument 
    .MailMerge.MainDocumentType = wdDirectory 
    .MailMerge.SuppressBlankLines = True 
End With 
+0

Oui je fais. C'est: Bibliothèque d'objets Microsoft Word 11.0 – JK0124

1
  1. Vous avez dit deux fois que strExportFullyQualifiedName est l'emplacement d'un fichier texte. Je n'ai jamais automatisé ce processus auparavant, mais je pensais que vous ne pouviez exporter qu'à partir d'un fichier Word.

  2. Est-ce que strExportFullyQualifiedName contient à la fois le nom de fichier &? par exemple. "C: \ Test.Doc"?

+0

@PowerUser: le contexte dans lequel le code s'exécute est Access, pas Word, non? –

+0

Corrigez-moi si je me trompe, mais je ne pense pas que le code fonctionne ici. Mail Merge est une fonction de MS Word, qui, pour autant que je sache, ne fonctionne qu'avec des fichiers Word. Ainsi, son code devrait référencer un fichier Word comme source. – PowerUser

+0

Fusion et publipostage Word peut utiliser n'importe quel nombre de sources de données, fichiers texte, fichiers Excel, Access MDBs, etc. Il n'a pas besoin d'un fichier Word comme source de données * source *. –

Questions connexes