2010-08-24 9 views
2

Je tente de créer manuellement un publipostage à l'aide de XML de Word (à partir de Word 2007). J'ai le code XML suivant qui ne fonctionne pas:Fusion de publipostage Word Open XML

<w:mailMerge> 
    <w:mainDocumentType w:val="catalog" /> 
    <w:linkToQuery /> 
    <w:dataType w:val="native" /> 
    <w:connectString w:val="Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=TheServer;Data Source=." /> 
    <w:query w:val="SELECT * FROM `Table` WHERE `id_field` = 7" /> 
    <w:dataSource r:id="rId1" /> 
    <w:activeRecord w:val="0" /> 
</w:mailMerge> 

Je ne peux pas vraiment comprendre de la documentation que je suis censé faire. Ceci est juste une fusion et publipostage à partir d'une table de base de données. Il dit qu'il y a une erreur sur la ligne <w:mainDocumentType w:val="catalog" />. J'ai recherché les valeurs possibles de w:val sans n'importe quelle chance. Je ne trouve aucune documentation décente à ce sujet.

Vous avez des idées?

Répondre

2

DII a toute la documentation et vous pouvez également consulter ce site, comme le mainDocumentType est répertorié comme CT_MailMergeDocType. Sur la recherche de cela, je reçois qui me dit alors de rechercher ST_MailMergeDocType, où il répertorie les types.

En outre, OpenXML développeur a quelques articles d'introduction de base à MailMerge avec WordprocessingML:

+0

En effet, ce sont des ressources avec lesquelles j'ai déjà travaillé sans aucune chance. – Kezzer

+0

@Kezzer: Alors quelle est la question? Vous voulez connaître les paramètres nécessaires pour chaque w: val ou ...? –

+0

@Kezzer: Je voulais juste vous suivre à ce sujet afin que nous puissions voir si nous pouvons le résoudre pour vous. –

0

dans votre commande SQL vous n'utilisez des guillemets simples réguliers («), mais le genre que je vois quand les gens ont des claviers internationaux (« ` » vs « » "). Je ne sais pas comment le fournisseur SQLOLEDB fonctionne mais je suis habitué à voir des parenthèses autour des noms de table et de cloumn plutôt que des citations. En utilisant le mot Microsoft, configurez la fusion de messages dans un document de test comme vous le souhaitez. puis afficher le xml mot généré à l'aide du SDK Open XML outil que vous pouvez obtenir ici: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124

comparer le xml ce mot génère à votre code pour voir où vous avez peut-être mal tourné.

Notez que w: mailMerge peut dépendre d'une ressource externe, auquel cas vous incluez une référence de source de données.

Questions connexes