• ベストアンサー

この文章の意味がわからないので、詳しい方わかりやすく教えてください。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31182&forum=7 既にうっすらとは指摘されていることですが、 「HtmlElement クラスは、MSHTML が公開する COM オブジェクトのラッパクラスだ」ということを肝に銘じれば道は開けます。 HtmlElement がラップする COM オブジェクトは HtmlElement.DomElement プロパティとしてエクスポートされているので、こいつを IHTEMLSelect インターフェースにキャストしてやれば、selectedIndex にアクセスできるはずです。 という文章なんですけど HtmlElement クラスっていうのはなんとなくわかります。HtmlElement クラスっていう集合体にいろんなプロパティが属しているのかな?と。 そしてもうここからまったく意味がわからない。肝に銘じたいのに銘じる内容がわからない・・・。そしてその続きもまったくわからない。インターフェースにキャストとかもうわけわからない。 教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

WebBrowser1.Document.All.GetElementsByName("comboBox").DocElementをmshtml.IHTMLSelectにキャストとして扱え、かな。 個人的にはWebBrowser1.Documentをmshtml.IHTMLDocumentをキャストするのがいいと思います。 後はDOMの世界なので、サンプルはjavascript界に沢山あるので楽でしょう。 まずは、VS.NETのプロジェクトからmshtmlの参照です。 http://msdn2.microsoft.com/en-us/library/system.windows.forms.htmlelement.domelement.aspx http://www.microsoft.com/japan/msdn/academic/Articles/fun/02/

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ここでいうCOMオブジェクトは、 CreateObject("InternetExplorer.Application") で得られるもの(いわゆるIEオブジェクト、WebBrowser コンポーネント)と考えていいでしょう。 それを包み込んで(ラップして)、.NETで使うようにしたのがHtmlElement クラスであるということを踏まえておけ ということですね。(多分) <SELECT> に DomElement でアクセスして、.NET 上での表現である、IHTEMLSelect で扱えるようにしてやれば、SELECT の要素にアクセスできるというような意味合いですかね。