2009-11-18 3 views
2

Je travaille actuellement sur des tableaux dans un modèle Word avec Interop.Office Interop Word C# .net: Copie d'une table dans un emplacement spécial

Dans mon modèle, j'ai une table que je veux copier (copie me rendre plus facile pour remplir les données plutôt que d'insérer des lignes et des colonnes, car le modèle a beaucoup de mise en forme d'écriture). La nouvelle table doit être insérée juste sous la table d'origine. Le mieux serait qu'ils ressemblent à une seule table.

Mon problème est que j'obtiens un paragraphe entre les deux tables. Comment puis-je éviter ça?

Voici mon code:

object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd; 
Word.Range rng = table.Range; 
rng.Collapse(ref oCollapseEnd); 

Word.Table tableCopy = document.Tables.Add(rng, 1, 1, ref missing, ref missing); 
table.Range.Copy(); 
tableCopy.Range.Paste(); 

Clipboard.Clear(); 

Toute aide serait très appréciée! :)

Répondre

4

Donc, travaillait plus sur ce problème et trouvé une solution. J'imagine que c'était juste moi qui était confus au sujet de la gamme. Je pensais juste que je devrais le poster. :)

Word.Range range = table.Range; 
range.Copy(); 

Word.Range rng = table.Range; 
rng.SetRange(table.Range.End, table.Range.End); 

Word.Table tableCopy = document.Tables.Add(rng, 1, 1, ref missing, ref missing); 
tableCopy.Range.Paste(); 

// got an extra row for some reason -> need to delete it 
table.Rows[table.Rows.Count].Delete(); 
Questions connexes