2009-07-21 27 views
1

如何使用VSTO和Word 2003在創建表後插入文本?我有類似的代碼使用VSTO在字中動態創建表格後插入文本

bookmarkDescriptions = (object)"bookmarkDescriptions"; 
Word.Range rangeDescriptions = aDoc.Bookmarks.get_Item(ref bookmarkDescriptions).Range; 

foreach (var item in items) 
{ 
    //Add a paragraph with some text 
    Table descTable = aDoc.Tables.Add(oSelection.Range, 1, 2, ref missing, ref missing); 
    //Insert some text into the cells 
    //Add a another paragraph with some text 
} 

當我添加另一段文字它被添加在表內,但我希望它在表後。因爲我需要遍歷所有項目並創建一些文本 - 段落 - 爲每個文本添加更多文本,所以我沒有看到如何使用書籤來獲取表格之後的範圍。

回答

4

我剛解決了這個問題。我正在使用下面的代碼。

object oLineUnit = (object) Word.WdUnits.wdLine; 
object oCountOne = (object) 1; 
object oCellUnit = (object) Word.WdUnits.wdCell; 

oSelection.MoveRight(ref oCellUnit, ref missing, ref missing); 
oSelection.MoveDown(ref oLineUnit, ref oCountTwo, ref missing); 

使Word對象模型的感覺,最好的辦法似乎是在Word中錄製宏,並再看看源代碼,以便看到正進行什麼API調用,並再複製在你的環境的選擇,hth。

+0

感謝您提供有關錄製宏的提示。 – 2011-06-05 08:18:54