VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 インターネット・通信関係のメニュー
1.WebBrowserコントロールワンポイントテクニック集
2.WebBrowserを使ってのHTMファイル内の全ての要素を調査
3.WebBrowserを使ってのTextBoxや各種ボタン等要素の操作例 
4.キーワードを URL エンコードして yahoo 及び google 検索
5.ちょっと便利なサイト内検索ソフト
6.
7.
8. 
9. 
10. 
11.
12.
 . 
20.その他、当サイト内に掲載のインターネット・通信に関するサンプル 


1.WebBrowser コントロールワンポイントテクニック集(08_Int_01) (旧、SampleNo.454)
1 .指定のURLを表示する
2 .ナビゲーション履歴の前のページに戻る
3 .ナビゲーション履歴の次のページに進む
4 .指定のURLの読み込み完了を取得(待つ)する
5 .現在のWebページのURLを取得する
6 .現在のWebページのタイトルを取得する
7 .スクリプトエラーメッセージなどのダイアログボックスを非表示にする。
8 .ステータステキストを取得する
9 .要素に割り当てられたテキストを取得
10.要素に割り当てられたソースコードを取得
11.現在の印刷設定とページ設定を使用して、現在表示されているドキュメントを印刷する
12.現在のWebページを拡大・縮小表示する
13.現在 IE で表示中の全 Web ページを取得
14.指定の位置を画面のトップ位置に表示する
15.リンクの色を取得または設定します
16.スタイルシートを読み込んで設定する
17.
18.起動時の設定及び上記プログラムの共通部分

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 / Internet Explorer 11.0
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :System.IO
参照設定:
Microsoft Internet controls /               参照設定方法参照
使用コン:Button1 〜 Button16 / WebBrowser1 / Label1
トロール:
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.指定のURLを表示する

Private buttonNo As Integer
Private myURL As Uri

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'指定のURLを表示する
    'WebBrowser.Url プロパティ
    '現在のドキュメントの場所を示す URL を取得または設定します。
    WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/index.html")

    'WebBrowser.Navigate メソッド
    'WebBrowser コントロールに、指定された場所にあるドキュメントを読み込みます。
    'Navigate メソッドは、色々な設定方法がありますので、詳しくは、MSDN をご覧下さい。
    '下記設定は、指定された URL を新しいウィンドウに表示。
    '  WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/", True)
End Sub

このページのトップへ移動します。 2.ナビゲーション履歴の前のページに戻る

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'ナビゲーション履歴の前のページに戻る
    'ナビゲーション履歴に前のページがあるかどうかを示す値を取得します。
    '(下記判定は、特に無くても問題ありません。)
    If WebBrowser1.CanGoBack Then
        'ナビゲーション履歴に前のページがある場合に、WebBrowser コントロールを前のページに戻します。
        WebBrowser1.GoBack()
    End If
End Sub

このページのトップへ移動します。 3.ナビゲーション履歴の次のページに進む

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'ナビゲーション履歴の次のページに進む
    'ナビゲーション履歴に次のページがあるかどうかを示す値を取得します。
    '(下記判定は、特に無くても問題ありません。)
    If WebBrowser1.CanGoForward Then
        'ナビゲーション履歴に次のページがある場合に、WebBrowser コントロールを次のページに移動します。
        WebBrowser1.GoForward()
    End If
End Sub

このページのトップへ移動します。 4.指定のURLの読み込み完了を取得(待つ)する

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'指定のURLの読み込み完了を取得する
    myURL = New Uri("http://hanatyan.sakura.ne.jp/vb2005/index.html")
    Button4.Enabled = False
    WebBrowser1.Navigate(myURL)
End Sub

Private Sub WebBrowser1_DocumentCompleted(sender As Object, _
        e
As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    '指定のURL以外を除外する
    ' Debug.Print(e.Url.ToString)
    If Not TypeName(sender) = "WebBrowser" Or e.Url <> myURL Then
        Exit Sub
    End If

    '読み込みが完了したので、True に設定
    Button4.Enabled = True
End Sub
このページのトップへ移動します。 5.現在のWebページのURLを取得する

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
'現在のWebページのURLを取得する
    MessageBox.Show(WebBrowser1.Url.ToString)
End Sub

このページのトップへ移動します。 6.現在のWebページのタイトルを取得する

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
'現在のWebページのタイトルを取得する
    MessageBox.Show(WebBrowser1.DocumentTitle)
End Sub

このページのトップへ移動します。 7.スクリプトエラーメッセージなどのダイアログボックスを非表示にする。

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
'スクリプトエラーメッセージなどのダイアログボックスを非表示にする。
    '非表示で表示(スクリプトエラー が表示されるようなサイトを指定して下さい)
    WebBrowser1.ScriptErrorsSuppressed = True
    myURL = New System.Uri("https://www.sonomanma.co.jp/login.php")
    WebBrowser1.Navigate(myURL)

    '通常の状態で表示
    MessageBox.Show("少し待ってから通常の状態で表示")
    WebBrowser1.ScriptErrorsSuppressed = False
    myURL = New System.Uri("https://www.sonomanma.co.jp/login.php")
    WebBrowser1.Navigate(myURL)
End Sub

このページのトップへ移動します。 8.ステータステキストを取得する

Private
frg8 As Boolean

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
'ステータステキストを取得する
    frg8 = Not frg8
End Sub

Private Sub webBrowser1_StatusTextChanged(sender As Object, e As EventArgs) Handles WebBrowser1.StatusTextChanged
'WebBrowser コントロールのステータステキストを取得する
    If frg8 Then
        Label1.Text = WebBrowser1.StatusText
    End If
End Sub

このページのトップへ移動します。 9.要素に割り当てられたテキストを取得

Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
    '要素に割り当てられたテキストを取得
    Debug.Print(WebBrowser1.Document.Body.InnerText)

    '現在の要素のテキストを取得
    Debug.Print(WebBrowser1.Document.Body.OuterText)
End Sub

このページのトップへ移動します。 10.要素に割り当てられたソースコードを取得

Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
    '要素に割り当てられたソースコードを取得

    Debug.Print(WebBrowser1.Document.Body.InnerHtml)

    '現在の要素のソースコードを取得
    Debug.Print(WebBrowser1.Document.Body.OuterHtml)

    Debug.Print(WebBrowser1.DocumentText)

    Using Source As New System.IO.StreamReader(WebBrowser1.DocumentStream, System.Text.Encoding.GetEncoding("shift_jis"))
        Debug.Print(Source.ReadToEnd())
    End Using
End Sub

このページのトップへ移動します。 11.現在の印刷設定とページ設定を使用して、現在表示されているドキュメントを印刷する

Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
'現在の印刷設定とページ設定を使用して、現在表示されているドキュメントを印刷します。
    WebBrowser1.Print()
End Sub

このページのトップへ移動します。 12.現在のWebページを拡大・縮小表示する

Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
'現在のWebページを拡大・縮小表示する
    Dim wt As New WaitTime.Class1
    WebBrowser1.Document.Body.Style &= ";Zoom:50%"
    wt.WaitTime(2000)

    WebBrowser1.Document.Body.Style &= ";Zoom:200%"
    wt.WaitTime(2000)

    WebBrowser1.Document.Body.Style &= ";Zoom:100%"
    wt.WaitTime(2000)
End Sub

このページのトップへ移動します。 13.現在 IE で表示中の全 Web ページを取得

Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
'プロジェクト→参照の追加→COM で Microsoft Internet controls を参照設定しておいてください。
    Dim oSW As New SHDocVw.ShellWindows
    Dim oWb As SHDocVw.ShellBrowserWindow = Nothing
    'IEがすでに起動中であるかを確認(起動中のエクスプローラーも含まれる)
    For Each oWb In oSW
        'エクスプローラーはカウントから除外する
        If TypeName(oWb.Document) = "HTMLDocumentClass" Then
            Debug.Print(oWb.LocationName)
            Debug.Print(oWb.LocationURL)
            Debug.Print("----------------------------------------------------")
        End If
    Next

    Dim Count As Integer  '解放されているか確認の為
    Count = System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oWb)
    Debug.WriteLine(Count) '結果 0 だったら解放されている
    Count = System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oSW)
    Debug.WriteLine(Count) '結果 0 だったら解放されている
End Sub

このページのトップへ移動します。 14.指定の位置を画面のトップ位置に表示する

Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
    Me.WindowState = FormWindowState.Maximized
    myURL = New Uri("http://dobon.net/cgi-bin/vbbbs/cbbs.cgi")
    WebBrowser1.Navigate(myURL)
End Sub

Private Sub WebBrowser1_DocumentCompleted(sender As Object, _
        e
As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    '指定のURL以外を除外する
    ' Debug.Print(e.Url.ToString)
    If Not TypeName(sender) = "WebBrowser" Or e.Url <> myURL Then
        Exit Sub
    End If

    '14.指定の位置を画面のトップ位置に表示する
    If myURL.ToString = "http://dobon.net/cgi-bin/vbbbs/cbbs.cgi" Then
        WebBrowser1.Document.Window.ScrollTo(0, 320)
    End If
End Sub
このページのトップへ移動します。 15.リンクの色を取得または設定します

Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
    WebBrowser1.Visible = False
    If buttonNo = 15 Then
        buttonNo = 0
        WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/ypcs/Link.htm")
    Else
        buttonNo = 15
        WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/ypcs/Link.htm")
    End If
End Sub

Private Sub WebBrowser1_DocumentCompleted(sender As Object, _
        e
As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    If buttonNo = 15 Then
        WebBrowser1.Document.LinkColor = Color.Green
        WebBrowser1.Document.ActiveLinkColor = Color.Pink
        WebBrowser1.Document.VisitedLinkColor = Color.Yellow
        '  hover(に対応する設定が見当たらない)
    Else
        Debug.Print(WebBrowser1.Document.LinkColor.Name)
        Debug.Print(WebBrowser1.Document.ActiveLinkColor.Name)
        Debug.Print(WebBrowser1.Document.VisitedLinkColor.Name)
    End If
    WebBrowser1.Visible = True
End Sub

このページのトップへ移動します。 16.スタイルシートを読み込んで設定する

Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click
    WebBrowser1.Visible = False
    If buttonNo = 16 Then
        buttonNo = 0
        WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/ypcs/Link.htm")
    Else
        buttonNo = 16
        WebBrowser1.Navigate("http://hanatyan.sakura.ne.jp/ypcs/Link.htm")
    End If
End Sub

Private Sub WebBrowser1_DocumentCompleted(sender As Object, _
        e
As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    If buttonNo = 16 Then
        'LinkStyle.css を読込んで設定する場合
        Dim cssfilename As String = "..\..\..\data" & "\LinkStyle.css"
        Dim css As String = "<style type='text/css'>" & System.IO.File.ReadAllText(cssfilename) & "</style>"
        WebBrowser1.Document.Body.InnerHtml &= css
    End If
    WebBrowser1.Visible = True
End Sub

このページのトップへ移動します。 17. 



このページのトップへ移動します。 18.起動時の設定及び上記プログラムの共通部分
下記コードは、上記コード中のコードをまとめて書いたもので重複しておりますのでご注意ください。

Private buttonNo As Integer
Private myURL As Uri
Private frg8 As Boolean

Private Sub WebBrowser1_DocumentCompleted(sender As Object, _
        e
As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    If buttonNo = 15 Then
        WebBrowser1.Document.LinkColor = Color.Green
        WebBrowser1.Document.ActiveLinkColor = Color.Pink
        WebBrowser1.Document.VisitedLinkColor = Color.Yellow
        '  hover(に対応する設定が見当たらない)
    Else
        Debug.Print(WebBrowser1.Document.LinkColor.Name)
        Debug.Print(WebBrowser1.Document.ActiveLinkColor.Name)
        Debug.Print(WebBrowser1.Document.VisitedLinkColor.Name)
    End If

    If buttonNo = 16 Then
        'LinkStyle.css を読込んで設定する場合
        Dim cssfilename As String = "..\..\..\data" & "\LinkStyle.css"
        Dim css As String = "<style type='text/css'>" & System.IO.File.ReadAllText(cssfilename) & "</style>"
        WebBrowser1.Document.Body.InnerHtml &= css
    End If
    WebBrowser1.Visible = True

    '指定のURL以外を除外する
    ' Debug.Print(e.Url.ToString)
    If Not TypeName(sender) = "WebBrowser" Or e.Url <> myURL Then
        Exit Sub
    End If

    '読み込みが完了したので、True に設定
    Button4.Enabled = True

    '14.指定の位置を画面のトップ位置に表示する
    If myURL.ToString = "http://dobon.net/cgi-bin/vbbbs/cbbs.cgi" Then
        WebBrowser1.Document.Window.ScrollTo(0, 320)
    End If
End Sub

このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
1.指定のURLを表示する  2.指定された URL を新しいウィンドウに表示する  3.ナビゲーション履歴に前のページがあるかどうかを取得する  4.ナビゲーション履歴の前のページに戻る
5.ナビゲーション履歴に次のページがあるかどうかを取得する  6.ナビゲーション履歴の次のページに進む  7.指定のURLの読み込み完了を取得(待つ)する  8.現在のWebページのURLを取得する
9.現在のWebページのタイトルを取得する  10.スクリプトエラーメッセージなどのダイアログボックスを非表示にする。  11.ステータス テキストを取得する  12.要素に割り当てられたテキストを取得
13.要素に割り当てられたソースコードを取得  14.現在の印刷設定とページ設定を使用して、現在表示されているドキュメントを印刷する。  15.現在のWebページを拡大・縮小表示する
16.現在 IE で表示中の全 Web ページを取得  スタイルシートを読み込んで設定する  リンクの色を取得  リンクの色を設定する  指定の位置を画面のトップ位置に表示する


このページのトップへ移動します。