代码之家  ›  专栏  ›  技术社区  ›  olle

使用vsto在Word中动态创建的表后插入文本

  •  1
  • olle  · 技术社区  · 16 年前

    如何使用vsto和Word 2003在创建的表后插入文本?我有代码

    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
    }
    

    当我添加另一段文本时,它被添加到表中,但我希望它位于表之后。因为我需要循环遍历所有项目,并为每个项目创建一些文本段落,所以我不知道如何使用书签在表后和表外获取范围。

    1 回复  |  直到 8 年前
        1
  •  4
  •   olle    16 年前

    我刚刚解决了这个问题。我正在使用以下代码。

    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中记录宏,然后查看源代码,查看正在进行的API调用,然后在您选择的环境(hth)中复制它。