[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/10/02(Mon) 13:00
投稿者名:石田
Eメール:
URL :
タイトル:
WebBrowserコントロールでClipboardにTextを読み込むには?
TextBoxでは、Clipboard.SetText TextBox1.SelText で簡単にTextをクリップボードに読み込む
ことができますが、同様にして
Clipboard.SetText WebBrowser1.SelText ではエラーになります。
WebBrowserコントロールでTextをClipboardに読み込む方法をご教授願います。

投稿時間:2006/10/02(Mon) 13:15
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: WebBrowserコントロールでClipboardにTextを読み込むには?
> WebBrowserコントロールでTextをClipboardに読み込む方法をご教授願います。

案1) ExecWB メソッドを使用する。
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/methods/execwb.asp

案2) clipboardData オブジェクトを使用する。
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/clipboarddata.asp

案3) 選択範囲を textRange オブジェクトで取得し、自前でクリップボードに転送する。
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_textrange.asp

投稿時間:2006/10/03(Tue) 13:51
投稿者名:ヤマ@文系
Eメール:
URL :
タイトル:
Re^2: WebBrowserコントロールでClipboardにTextを読み込むには?
> > WebBrowserコントロールでTextをClipboardに読み込む方法をご教授願います。
MSHTMLを参照して
Dim doc as mshtml.htmldocument
Dim strD as string

set doc=webbrowser1.document
strD=doc.body.outerhtml
などで文字列は取得されるとよいと思います。
後は魔界の仮面弁士様の方法で。

投稿時間:2006/10/03(Tue) 14:34
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: WebBrowserコントロールでClipboardにTextを読み込むには?
> set doc=webbrowser1.document
> strD=doc.body.outerhtml

それをいうなら、
 Set txtRange = WebBrowser1.Document.selection.createRange()
 strText = txtRange.text
 strHtml = txtRange.htmlText
といった感じでしょうか。

単に body.outerHTML を取得しただけでは、元質問にあった「TextBox1.SelText」の部分、
すなわち『選択された範囲のテキスト』というニーズを満たしていませんよね。


ちなみに先述の案1 であれば、
 WebBrowser1.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT
という処理だけで、選択範囲の内容をコピーする事ができます。

投稿時間:2006/10/03(Tue) 19:00
投稿者名:ヤマ@文系
Eメール:
URL :
タイトル:
Re^4: WebBrowserコントロールでClipboardにTextを読み込むには?
> それをいうなら、
>  Set txtRange = WebBrowser1.Document.selection.createRange()
>  strText = txtRange.text
>  strHtml = txtRange.htmlText
すいません。全く勘違いしてました。m(_ _)m
魔界の仮面弁士様のコードで取得できると思います。

投稿時間:2006/10/03(Tue) 21:07
投稿者名:石田
Eメール:
URL :
タイトル:
Re^5: WebBrowserコントロールでClipboardにTextを読み込むには?
魔界の仮面弁士様 ヤマ@文系様 ご回答有難うございます。
魔界の仮面弁士様に教えて頂いた下のコードで問題が解決しましたのでお知らせします。
WebBrowser1.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT