応用

表示領域のサイズ取得やスクロール量を取得する

IE/WebBrowserに表示している領域の以下の情報を取得します。
・表示領域の高さ・幅
・スクロール量
・サイト全体の高さ・幅

表示しているサイトのレンダリングモードによって、取得する対象が異なります。

					Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

						Dim element As mshtml.IHTMLElement2

						'レンダリングモードの判定
						If objIE.Document.compatMode = "CSS1Compat" Then
							element = DirectCast(objIE.Document.documentElement, mshtml.IHTMLElement2)
						Else
							element = DirectCast(objIE.Document.body, mshtml.IHTMLElement2)
						End If

						Debug.WriteLine(element.clientHeight)	'表示領域の高さ
						Debug.WriteLine(element.clientWidth)	'表示領域の幅
						Debug.WriteLine(element.scrollTop)		'スクロール量・縦
						Debug.WriteLine(element.scrollLeft)		'スクロール量・横
						Debug.WriteLine(element.scrollHeight)	'サイト全体の高さ
						Debug.WriteLine(element.scrollWidth)	'サイト全体の幅

					End Sub
				

				
					Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

						Dim doc As mshtml.HTMLDocument = DirectCast(WebBrowser1.Document.DomDocument, mshtml.HTMLDocument)
						Dim element As mshtml.IHTMLElement2

						'レンダリングモードの判定
						If doc.compatMode = "CSS1Compat" Then
							element = DirectCast(doc.documentElement, mshtml.IHTMLElement2)
						Else
							element = DirectCast(WebBrowser1.Document.Body.DomElement, mshtml.IHTMLElement2)
						End If

						Debug.WriteLine(element.clientHeight)	'表示領域の高さ
						Debug.WriteLine(element.clientWidth)	'表示領域の幅
						Debug.WriteLine(element.scrollTop)		'スクロール量・縦
						Debug.WriteLine(element.scrollLeft)		'スクロール量・横
						Debug.WriteLine(element.scrollHeight)	'サイト全体の高さ
						Debug.WriteLine(element.scrollWidth)	'サイト全体の幅

					End Sub
				

				

参考

JavaScript特有の問題・クロスブラウザなど
document.compatMode
WebBrowserでスクロールを検知する方法