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

解決


あらら  2005-04-06 09:29:10  No: 120713  IP: [192.*.*.*]

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

宜しくお願いします。

編集 削除
medaka  2005-04-06 09:43:01  No: 120714  IP: [192.*.*.*]

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 10:04:13  No: 120715  IP: [192.*.*.*]

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

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

対処法はありますか?

編集 削除
魔界の仮面弁士  2005-04-06 14:38:06  No: 120716  IP: [192.*.*.*]

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

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

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

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

編集 削除
LESIA  2005-04-06 16:47:26  No: 120717  IP: [192.*.*.*]

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

編集 削除
あらら  2005-04-06 19:49:20  No: 120718  IP: [192.*.*.*]

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

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

編集 削除