VB/VBA:フェッチをHTML文字列からクリップボードにコピーされウェブブラウザーを介して)
質問
このときコピーからwebブラウザクリップボードには、少なくとも2つのものが格納され:
- テキスト
- HTMLソースコード
そのソフトウェアで貼り付けに決定できるかについてお聞きしましょう。時に貼り付け MS Excel2003年, は、ペースト特別オプションにペーストのHTMLには、ペースト、形式をHTML(そのままブラウザに表示される).
いきたいと思いはペーストのソースコードをプレーします。これから取得し、クリップボード、VBA?
編集 私はアクセスしようとしているすべてのソースコードのコピーされたHTMLのタグです。
解決
今回の読みの問題を適切に実現 coonj いのHTMLからのクリップボードに含むタグです。
このと合理的に困難です。必要なものを読み、クリップボードにWindows APIに発信します。そして、解析結果のCF_HTML文字列が贈ヘッダを追加し、HTML.
- Microsoft Knowledge Baseの記事 Windows APIのコードを読み取CF_HTMLクリップボードから機能GetHTMLClipboard).
そも無視したいの贈ンターフェースの通称です。Microsoftの書類の書式 こちらの.例CF_HTMLの抜粋を以下に示します。きっ当て推量方法の飛び最初の数です。
Version:0.9 StartHTML:71 EndHTML:170 StartFragment:140 EndFragment:160 StartSelection:140 EndSelection:160 <!DOCTYPE> <HTML> <HEAD> <TITLE>The HTML Clipboard</TITLE> <BASE HREF="http://sample/specs"> </HEAD> <BODY> <!--StartFragment --> <P>The Fragment</P> <!--EndFragment --> </BODY> </HTML>
ものですが、これまでのところに値する考え方があるかどうかその他の方法の問題点の解決.E、g、ブラウザには常にインターネットExplorer?き必要なものを歩のHTMLツリーのCOMオブジェクトモデルかどうかを示します。
編集: coonj してきましたことは"のGetHTMLClipboard機能するよう両方のFirefox、IEで見せていないが投げ方にヘッダが"
他のヒント
VB6には、さまざまな形式でクリップボードデータを取得できるClipboardオブジェクトがあります。 VBAにはこのオブジェクトはありません。ただし、使用できるWindows API呼び出しがあります。 VBA こちらの実装例をご覧ください。