- - PR -
【C++】C++を使用したHTMLの操作について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-09-06 11:27
C++初心者です。
現在、IEコンポーネントを利用し、以下のようなプログラムを作成したいと考えています。 1.IEを起動する。 2.起動したIEを探す 3.IEの<BODY>タグの<style>を取得する。 4.<style>を書き換える(overflow-xとyを書き換えるのが目的です) ※そもそも、BODYが書き換えられるのかどうかなのですが・・・・ 1と2はサンプルプログラムを探し既に出来ていますが、 3の<BODY>タグの<style>取得の部分で<BODY>タグ全体の取得しか出来ておりません。 そもそも<style>出来るかということと、取得方法及び書き換え方法を ご教授いただけませんでしょうか。 //HTML操作 void GoogleSearch(SHDocVw::IWebBrowser2Ptr pIE) { //HTMLドキュメント取得 MSHTML::IHTMLDocument2Ptr pDoc = pIE->GetDocument(); if (pDoc == NULL) return; //Bodyの取得 MSHTML::IHTMLElementPtr pBody = pDoc->body; //Bodyのオブジェクトの取得 _bstr_t bstr_buf = pBody->outerHTML; MessageBox(NULL,bstr_buf,TEXT("body"),MB_OK); } | ||||
|
投稿日時: 2008-09-06 23:33
できると思います。 MSHTML 関連のクラス名などで検索すると、たとえばですが、 http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=mshtml+IHTMLElement+style だと先頭に、 http://katamari.jp/index.php?dev%2Fvb%2FWeb%A5%DA%A1%BC%A5%B8%A4%F2%B2%E8%C1%FC%A4%C7%BC%E8%C6%C0%A1%CAOleDraw%A1%CB がヒットしました。 ここを見るとできそうに思います。 なお、C++ は(利用者数という点から見れば)マイナーだと思いますので、C++ だけで絞り込むとほとんど見つからないだろうと思いますので、VB や C#/VB.NET で書かれたサイトを見つけて、C++ に変換するほうが良いでしょう。(それか自分でも VB や C#/VB.NET を使うという手もあります。) | ||||
|
投稿日時: 2008-09-07 00:05
(VB.NET ではなく) VB でやってみました。(正確には Excel xp(2002) の VBA + IE 7 + Windows XP)
(1) や (2) のいずれかひとつをやれば overflow は制御できるみたいでした。ただし(3) のように overflow-x を設定しようとしてもなぜか効きません(overflow-y も同様でした)。私にはこれ以上分かりませんが、ご参考まで。 |
1