Word Interop API を使用して、特定の色で強調表示されたテキストを削除するドキュメントがあります。要約すると、ロジックは次のようになります。
if(range.HighlightColorIndex == WdColorIndex.wdYellow)
{
range.Delete();
}
range.HighlightColorIndex
一部のドキュメントでは、値が返されることに気付きました: 999999
.
WdColorIndex
列挙型 (HighlightColorIndex
プロパティの型) を調べると、列挙型が から-1
までの間隔で値が割り当てられた要素で実装されていることがわかります。これは、返される数値16
を説明していません999999
。
さらに、Word を使用して、奇妙な動作に気付きました。黄色で強調表示された 2 つの行 (最初の行にはテキストとハイパーリンクが含まれ、2 番目の行にはテキストのみが含まれます) を持つ新しいドキュメントを作成します。
- 文書を保存して初めて閉じる前に、Word は各行を 1 つずつ選択するときに黄色で強調表示されていることを認識します。
- ドキュメントを保存して閉じ、再度開いた後、Word はテキストとハイパーリンクを含む行を強調表示されていると認識しなくなりますが、テキストのみの行は強調表示されていると認識されます。
ドキュメントを開いた後の Word のハイライト認識のスクリーンショットを次に示します。
この調査から、これは Word のバグである可能性があるようですが、ここで何かが欠けていないことを確認したいので、基本的に、これが意図された動作なのかバグなのか、さらには何なのか、誰にもわかりません。適切なアプローチは、特定のケースで Word Interop を使用するときにそれに対処することでしょうか?
このシナリオでは、Office 2010 とバージョン 14 の Word Interop API を実行しています。