0

はい、windows7/vista の「プレビュー ペイン」のようにドキュメントをプレビューする必要があり、Winforms で検索機能を実装する必要があります。 HTML 形式のコントロール。次に、その Web ブラウザ コントロールに検索機能を実装する必要があります。そのために、次のコードを使用して検索機能を実装しました。

public bool FindNext(string text, WebBrowser webBrowser1)
        {

            IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2;

            IHTMLSelectionObject sel =doc.selection;// (IHTMLSelectionObject)doc.selection;
            IHTMLTxtRange rng = sel.createRange() as IHTMLTxtRange;

            rng.collapse(false); // collapse the current selection so we start from the end of the previous range
            if (rng.findText(text, 1000000, 0))
            {
                rng.select();
                return true;
            }
            else
                FindFirst(text, webBrowser1);
            return false;
        }

このコードは、Word Document 内の文字列値のすべての出現箇所を検索するために正常に機能しています。しかし、Excel および PPt ドキュメントに関しては、このコードは適切に機能しません。他のオカレンスでは見つからない文字列の最初のオカレンスのみを検出します。デバッグ中に、単語ドキュメントの場合、「IHTMLDocument2」オブジェクトは、HTMLコンテンツを「innerHTML」および「innerText」にいくつかの値とともに格納することがわかりました。ただし、Excel の場合、フレームを使用してのみテキストを「innerHTML」に格納し、シートはローカルの一時的な .html ファイルを参照し、null として表示される「innerText」コンテンツはありませんでした。

  Please provide the solution to search the text in webbrowser control which loaded the html content, that is converted from

Excel、PPT を html 形式に変換し、webbrowser コントロールで表示します。

ご不明な点がございましたら、お気軽にお問い合わせください。

ありがとうございました。

4

0 に答える 0