Word 文書 (ユーザー ガイド) を開き、必要な段落が見つかるまで段落を繰り返し、その段落までウィンドウをスクロールします (つまり、「コンテキスト」ヘルプ)。
私が抱えている問題はScrollIntoView
、Word が新しく開いたドキュメントをレンダリングしている間、メソッドがその短い時間何もしないように見えることです。
コードの抜粋:
var wordDoc = wordApp.Documents.Open(ref filename, ref confirmConversions, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref visible, ref missing, ref missing, ref missing, ref missing);
foreach (Microsoft.Office.Interop.Word.Paragraph paragraph in wordDoc.Paragraphs)
{
var text = paragraph.Range.Text;
if (text == headingToScrollTo + "\r")
{
wordDoc.ActiveWindow.ScrollIntoView(paragraph.Range);
break;
}
}
現在、メソッド呼び出しのThread.Sleep(500)
前にa を挿入しています。ScrollIntoView
明らかに、これはかなり恐ろしく脆弱な解決策です。スクロールする前にドキュメントが完全にレンダリングされるのを待つ適切な方法は、はるかに優れています。