2015-12-01 103 views
1

我有一個VSTO項目,其中單擊功能區上的按鈕,打開具有特定模板的新Word文檔並使用自定義任務窗格打開它。在該窗格上有一個按鈕,點擊該按鈕時,我想將一行添加到存在於文檔模板中的表格中。VSTO Word - 在任務窗格中單擊按鈕時添加表格行

目前我只是在運行時點擊任務窗格上的按鈕時出現'command failed'異常。這是全班同學。正如你可以看到我已經嘗試了兩種方式來做到這一點,無論是失敗的:

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

以何種方式它不工作:

作爲一種變通方法,你可以按如下方式使用Selection對象?你有錯誤嗎?該行是否添加了錯誤的地方?請提供更多信息。 –

+0

我在Visual Studio中出現'Command Failed'異常。沒有行被添加到任何表中。 –

+0

啊,我的錯。我在Content Controls的頂部有一個隱藏表格。當我將它更改爲'Tables [2]'時,它向我想要的表格添加了一行。但是,我實際上也打算在該表中使用內容控件。這是否意味着我不能將行添加到具有內容控件的表中?顯然我可以嘗試,但你可能知道答案? –

回答

0

很有可能您的第一個表格包含合併的單元格。然後,您將無法訪問Rows集合中的單個行。

ActiveDocument.Tables(1).Range.Select(); 
Application.Selection.Collapse(); 
Application.Selection.InsertRowsAbove(); 
相關問題