Webbrowserに直接htmlを表示するには

解決


あらら  2005-04-06 18:29:10  No: 120713

例えばファイルとして保存されているものなら、Navigate2メソッドで内容を表示できますが、プログラム上でhtmlを動的に作成し、それをファイルに保存せずに直接、WebbrowserやIEに表示させる方法が判りません。

宜しくお願いします。


medaka  2005-04-06 18:43:01  No: 120714

Dim IE As Object
IE = CreateObject("InternetExplorer.Application")
IE.Navigate("about:blank")
IE.Document.body.innerHTML = frmMain.htmlsource
IE.Visible = True

こんな感じでやってます。
frmMain.htmlsourceはstringでhtmlソースです


あらら  2005-04-06 19:04:13  No: 120715

早速の回答有り難うございます。
最初に記載すれば良かったのですが、htmlソースにはjavascriptが
含まれています。

この方法では、javascriptが機能しないようなのですが?

対処法はありますか?


魔界の仮面弁士  2005-04-06 23:38:06  No: 120716

body.innerHTML って、<body></body>要素の内容を変更するだけなので、
<head>等までは処理されないと思います。

> 対処法はありますか?
ここのVB掲示板とVB初心者掲示板の両方を、「IPersistFile」または
「IPersistStreamInit」というキーワードで検索してみてください。

このいずれかのインターフェイスを用いれば、HTMLをそのまま渡せます。

これらに頼らないのであれば、『.Navigate2 "javascript:" & スクリプト処理』
のようにして実行させるか、あるいは元のファイル経由で渡す事になるかと。


LESIA  2005-04-07 01:47:26  No: 120717

IEのバージョンが5の場合
IE.Navigate2 "about:" & strHTML
6の場合
IE.Navigate2 "about:blank"
IE.Navigate2 "javascript:document.write('" & strHTML & "');"


あらら  2005-04-07 04:49:20  No: 120718

medakaさん、魔界の仮面弁士さん、LESIAさん
色々な手法を教えていただきありがとうございました。
それぞれ特徴があると思いますので、良く吟味しながら
活用させていただきます。

どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加