Question

Je me demandais si quelqu'un savait comment faire un publipostage en utilisant un fichier Excel comme source de données pour remplir les champs sur un modèle Word? Je souhaite utiliser le PIA pour Word si je pouvais ... mais ai quelques difficultés à trouver le code pour cela. Est-ce que quelqu'un a une syntaxe pour cela? Nous vous remercions à l'avance.

Était-ce utile?

La solution

Une méthode très utile pour apprendre à automatiser des actions spécifiques dans MS Word est d'effectuer réellement l'action manuellement « Enregistrer une macro » activée.

Une fois que vous avez la macro VBA son assez facile à convertir en VB.NET ou C # qui utilise Interop. J'ai tendance à modifier la VBA d'abord je peux manuellement dans Word puis testez donc cette première avant de se convertir à un langage .NET en utilisant la couche interop.

Je ne sais pas beaucoup sur mailmerge, mais cela est une partie de la VBA généré alors que j'ai enregistré une macro:

ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
    "c:\Arrays.xlsx", ConfirmConversions:=False, _
     ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
    PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
    WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
    Connection:= _
    "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _
    , SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
    wdMergeSubTypeAccess

Je n'ai pas inclus le code complet ici, mais nous espérons que cela vous donne quelques idées.

Autres conseils

Word (au moins dans la version 2007, qui est ce que je regarde) peut le faire hors de la boîte. Il suffit de sélectionner le fichier Excel comme source de données. Qu'est-ce que vous essayez de faire dans votre code?

scroll top