2014-01-29 82 views
0

我使用interop.Word以編程方式創建Word文檔。
在文檔中我有一個特定的範圍,我想插入文本。將文本插入Word範圍

當我谷歌,我看到了這樣做的方法是:

range.Text=" Whatever..."; 

,但我對範圍內的對象沒有「Text」屬性。

任何想法?

+0

你是如何得到範圍? – Andrei

+0

@Andrei'Range range = wordApp.ActiveDocument.TablesOfFigures [i] .Range;'例如,我想在「數字表」之前給出一個標題。感謝您的快速回復。 – user3165438

+0

你怎麼知道沒有這樣的財產?你有編譯錯誤? – Andrei

回答

1

對於原始問題 - 這只是一個intellisense錯誤,Range類有這樣的屬性。

對於來自評論問題

Range range=wordApp.ActiveDocument.TablesOfFigures[i].Range; 
range.Text=" Whatever..."; 

取代了飛行時間,而不是用文字前面加上的。如果你只是想設置表的標題,你可以使用Caption

wordApp.ActiveDocument.TablesOfFigures[i].Caption = "Header text"; 

然而,如果你需要一些文字前述差測距 - 看看這個thread其正在討論類似的情況,但對於列表,而不是圖表。

另一種方式來設置標題是選擇你需要的範圍,並呼籲InsertCaption

wordApp.ActiveDocument.TablesOfFigures[i].Range.Select(); 
wordApp.Selection.InsertCaption("Whatever"); 

注意InsertCaption接受各類不同的指定參數時,一定要嘗試不同的。

+0

@Andrey謝謝你的詳細解答。當我使用上面的代碼時,即使我已經更新,tof也不會更新! – user3165438

+0

@ user3165438,更新了另一個想法 – Andrei

+0

@Andrey,感謝您的通知!我嘗試了不同的值的新想法,但程序失敗!什麼確切的工作正常? – user3165438

0

如果要在範圍位置插入文本,可以使用Range.InsertBefore

Range range=wordApp.ActiveDocument.TablesOfFigures[i].Range; 
range.InsertBefore("My Text here. ");