VSTO Word - 在任务窗格中单击按钮时添加表格行

时间:2015-12-01 19:53:12

标签: c# ms-word vsto word-addins

我有一个VSTO项目,点击功能区上的按钮,打开一个带有特定模板的新Word文档,然后使用自定义任务窗格打开它。在该窗格上是一个按钮,单击该按钮时,我想在doc模板中存在的表中添加一行。

目前,当点击任务窗格上的按钮时,我只是在运行时收到“命令失败”异常。这是全班。你可以看到我尝试了两种方法,但都失败了:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using word = Microsoft.Office.Interop.Word;

namespace TestWordAddin2010
{
    public partial class NewDescDMtaskPane : UserControl
    {
        public NewDescDMtaskPane()
        {
            InitializeComponent();
        }

        private void addSpare_Click(object sender, EventArgs e)
        {
            Globals.ThisAddIn.Application.ActiveDocument.Tables[1].Rows.Add(Globals.ThisAddIn.Application.ActiveDocument.Tables[1].Rows[1]);  //this doesn't work

            //word.Table wordTable = Globals.ThisAddIn.Application.ActiveDocument.Tables[1];
            //wordTable.Rows.Add(wordTable.Rows[1]);  //neither does this work
        }
    }
}

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

您的第一个表很可能包含合并的单元格。然后,您将无法访问Rows集合中的各个行。

作为一种解决方法,您可以使用Selection对象,如下所示:

ActiveDocument.Tables(1).Range.Select();
Application.Selection.Collapse();
Application.Selection.InsertRowsAbove();