我正在创建一个C#程序,它在word文档中插入一个表。现在,我需要在不同的word文档中的某个位置插入一个表。我所有的单词文档/模板中都有单词<table>
,我要插入表格。为了能够在特定的word文档位置插入表格,我需要获取单词<table>
的位置范围。有没有办法在单词文档中获取该特定单词的范围?
我在所搜索的参考文献中看到的只是使用空格,单词,句子等的计数来获取范围,如下所示:
object start = doc.Words[2].Start; //start of the second word
object end = doc.Words[2].End; // start of the third word
Word.Range myRange = doc.Range(ref start, ref end);
由于我的word文档中的单词数是动态的,因此上面的代码不是很有帮助。
有没有办法使用C#word interop获取word文档中特定单词的范围?
答案 0 :(得分:2)
您可以使用空(或实际上任何)Find
的{{1}}对象将范围的边界设置为文档中的特定字/字符串:
Range
Word.Range range = document.Range(0, 0);
if (range.Find.Execute("<table>")) {
// range is now set to bounds of the word "<table>"
}
方法有其他参数(用于执行不区分大小写的匹配等)。