2013年09月08日

VBA:IEの画面をキャプチャする手順

ソースは緑里庵のサイトを参照。
gooのトップページをキャプチャした画像。goo.bmp(9.26MB)
1.InternetExplorerオブジェクトを取得
IEを新規に開くか、すでに開いているIEを取得する。
2.IEの表示部分のWindowハンドルを取得
IEのWindowハンドルから子ウインドウをクラス名で辿る。
"Frame Tab" → "TabWindowClass" → "Shell DocObject View"
3.2で取得したWindowハンドルからBitmapを作成
2のWindowハンドルからDCを取得 → 互換DCを作成 → 互換DCの互換Bitmapを作成。作成するBitmapの幅と高さは、document.body.scrollWidth / scrollHeight
4.IEのDCから互換DCへ描画
ドキュメントが1画面に収まらない場合は、描画 → スクロール → 描画 …と繰り返す。
5.Bitmapを保存する
クリップボードにコピーする場合はBitmapハンドルを渡すだけ。
ファイルに作成する場合は、ヘッダーを作成しBitmapをバッファに取得して書き込む。
posted by 忘却の達人 at 09:49| Comment(5) | TrackBack(0) | vba | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。