2

ファイル内の各文字を別の文字に置き換えたい。

今はFind.Execute()メソッドを使って実装しているのですが、今回は検索に時間を費やしてから置換し、またファイルの先頭から別の文字を検索するので、アルファベットをすべて置換したい場合は文字はドキュメント全体を 26 x2 (小文字と大文字) = 48 回通過しますが、1 回のルックアップで置き換えたいので、次のようにします。 、次の文字が「c」の場合は「s」に置き換えるなど、1回のルックアップで作成するため、ドキュメント全体を1回だけ通過します。

私は自分のコードを書くだけでそれを実装できることを知っていますが、私の人生を楽にする組み込みクラスがあるのではないかと思っています:)

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 に答える