2

我想用另一个替换文件中的每个字符。

现在我使用 Find.Execute() 方法来实现它,但在这种情况下,它会花时间搜索然后替换它,然后再次从文件开头搜索另一个字符,所以如果我想替换所有字母字母它将遍历整个文档 26 x2(小写和大写)= 48 次,但我希望它被 1 次查找替换,比如:它得到第一个字符,它是“a”替换为“a” , 如果下一个字符是 "c" 替换为 "s" 等,则通过一次查找进行查找,因此它只遍历整个文档一次。

我知道我可以通过编写自己的代码来实现它,但我想知道是否有一些内置类可以让我的生活变得轻松:)

4

2 回答 2

1

关于什么:

using Word = Microsoft.Office.Interop.Word;

//...

Word.Application app = new Word.Application();
Word.Document myDoc = app.Documents.Add(pathToMyDoc);

for(int n = 0; n < myDoc.Characters.Count; ++n)
{
  myDoc.Characters[n].Text = LookupReplacement(myDoc.Characters[n].Text);
}

完全未经测试,但可能会对您有所帮助。我查看的链接:http: //msdn.microsoft.com/en-us/library/microsoft.office.interop.word.documentclass (v=office.11​​).aspx

于 2013-01-21T08:59:08.877 回答
0

试试这个作为参考,希望这会有所帮助:

http://weblogs.asp.net/guystarbuck/archive/2008/05/13/automated-search-and-replace-in-multiple-word-2007-documents-with-c.aspx

于 2013-01-20T23:53:21.767 回答