2008-11-13 8 views
0

J'ai une application C# qui ouvrira un document Word, puis remplacer certains des signets prédéfinis avec les données que j'ai comme le nom, classe etc ..Word Automation en C# - Création de tableaux dans Word

Il est tous sont juste des valeurs de chaîne. Maintenant, je veux rendre un tableau avec un nombre dynamique de lignes au document word.Je veux la table dans un endroit particulier dans le document. Puis-je utiliser marque-page pour cela.Si oui, comment ??? Y a-t-il une autre méthode?

+0

vous déjà demandé ceci: http://stackoverflow.com/questions/283523/creating-dynamic -tables-en-mot-par-cnet –

Répondre

3

Oui, vous pouvez utiliser des signets et également utiliser des champs pour le remplacer par un tableau avec n. de rangées et n non. des colonnes.

Vous pouvez boucle à travers les champs et obtenir sa gamme et en utilisant gamme, vous pouvez ajouter la table à l'emplacement du terrain:

//CREATING OBJECTS OF WORD AND DOCUMENT 

Word.Application oWord = new Word.Application(); 

Word.Document oWordDoc = new Word.Document(); 

foreach (Word.Field myMergeField in oWordDoc.Fields) 

{ 

    iTotalFields++; 

    Word.Range rngFieldCode = myMergeField.Code; 

    String fieldText = rngFieldCode.Text;  


    // ONLY GETTING THE MAILMERGE FIELDS  
    if (fieldText.StartsWith("tablename")) 

    { 
     myMergeField.Select(); 
     oWordDoc.table.add(rngFieldCode,4//for rows,4// for colioulns,ref omising....); 
    } 
} 
Questions connexes