コンテキスト:interopを持つMS Wordオートメーション、2000セクションと3ヘッダーを持つドキュメント。Word Interop - プロセスヘッダーとフッターは一度だけです
問題:ヘッダとフッターの効率的な処理(例えば、テキスト検索&がヘッダに置き換える)
言葉のヘッダー(またはフッター)を処理する方法は、このようなものであるようだ。
foreach (Microsoft.Office.Interop.Word.Section section in theDoc.Sections)
{
foreach (Microsoft.Office.Interop.Word.HeaderFooter header in section.Headers)
{
//processRange(theDoc, header.Range);
}
}
問題は、私はそれが唯一のヘッダを持っているにもかかわらずにぶつかったこの文書の回の千を実行するループです。セクションは実際には異なるヘッダーを持つことができるので、明らかにヘッダーの最初のヒット後に停止することはできません。この場合は、という3つのヘッダーしかないので、目的は630ではなくです。
ヘッダーをユニークにすることを考えていたので、ハッシュセットにキーを保持して、そこにあればスキップします。
もしあれば、その鍵は何ですか? range.Start + range.End + range.StoryType(headerfooterの範囲)? range.text?他に何か?
おそらく冗長性を避けるためのより良いアプローチはありますか?
ありがとうございました。
-Cristian