7.5 ページを書き込む
 7.4 指定したページを表示では(インターネットエクスプローラに)指定したURLのページを表示しましたが、HTMLなどを自由自在に書き込んで好きな内容を表示することも可能です。

 表示したい内容をインターネットエクスプローラに書き込むには、IEオブジェクトのDocument.Writeというメソッドを使います。
使用例
 Document.Writeの使い方です。例では、VBS(WSH)のプログラムからインターネットエクスプローラへ表示する内容をHTMLで書き込み、書き込みが全て終わってから5秒後に画面をクリアし真っ白な状態にしています。

 ただし、インターネットエクスプローラへ表示したい内容を書き込むには一つだけ制約があります。IEオブジェクトを作ったばかりの状態(インターネットエクスプローラに一度も、かつ何も表示していない状態)だと書き込みが出来ません。もちろん、その状態でDocument.Writeを行うとエラーが発生します。一度でも何かを表示した後はDocument.Writeで好きな内容を書き込めるのですが、そのためだけにカラのページを作っておくというのも面倒です。

 しかし、これは最初にabout:blankというページを表示する(@)ことでなんとかなります。もちろん、about:blankを指定しても、画面には何も表示されません。ちなみに、about:blankはインターネットオプションのホームページの設定空白を使用ボタンを押した時に表示されるヤツです。

 あとは画面のクリアですが、全然たいしたことはありません。about:blankを表示すれば良いです(笑)

Option Explicit

Dim objIE

'objIEオブジェクトを作成します
Set objIE = CreateObject("InternetExplorer.Application")

'ウィンドウの大きさを変更します
objIE.Width = 800
objIE.Height = 600

'表示位置を変更します
objIE.Left = 0
objIE.Top = 0

'インターネットエクスプローラ画面を表示します
objIE.Visible = True

'@カラのページを表示します
'(これを行わないと以降のdocument.writeなどがエラーになるため)
objIE.Navigate "about:blank"

'AHTMLを出力します
objIE.Document.Write "<html>" & vbcrlf
objIE.Document.Write "<head>" & vbcrlf
objIE.Document.Write "<title>7.5 ページを書き込む</title>" & vbcrlf
objIE.Document.Write "</head>" & vbcrlf
objIE.Document.Write "<body>" & vbcrlf
objIE.Document.Write "<table border=4 width=""100%"" height=""100%"">" & vbcrlf
objIE.Document.Write "<tr>" & vbcrlf
objIE.Document.Write "<td align=""center"" valign=""middle"">" & vbcrlf
objIE.Document.Write "<font size=+4>みんな〜!やってる?</font><br>" & vbcrlf
objIE.Document.Write "</td>" & vbcrlf
objIE.Document.Write "</tr>" & vbcrlf
objIE.Document.Write "</table>" & vbcrlf
objIE.Document.Write "</body>" & vbcrlf
objIE.Document.Write "</html>" & vbcrlf

'5秒待ちます
WScript.Sleep(5000)

'B画面のクリアにも使えます
objIE.Navigate "about:blank"

'オブジェクトの破棄
Set objIE = Nothing
Copyright(C) 1999-2006 結城圭介。 All rights reserved