tagCANDY CGI VBレスキュー(花ちゃん) - WebBrowserでHTMファイルの表示データの一部だけを取得(VB.NET) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
WebBrowserでHTMファイルの表示データの一部だけを取得(VB.NET)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

WebBrowserでHTMファイルの表示データの一部だけを取得(VB.NET) [No.153の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2007/09/07 14:20
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[インターネット][][]                                                *
* キーワード:通信,HTML,WEB,,,                                                    *
***********************************************************************************

元質問:ソースの一部取得は? - st  2006/02/15-13:28No.3117

WebBrowserで表示させて表示されたWebのソース(ちなみに取得したソースはテキストボックスに表示させています。)を、一部分だけとりだして他のテキストボックスに表示させたいのです。

-----------------------------------------------------------------------------------
Re^3: ソースの一部取得は? - YAS  2006/02/15-16:11 No.3121
-----------------------------------------------------------------------------------
VB2005であったらこんな感じでしょうか。

Public Class Form1
    WithEvents WebBrowser1 As New WebBrowser
    Dim TextBox1 As New TextBox
    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        Me.TextBox1.Multiline = True
        Me.TextBox1.Dock = DockStyle.Fill
        Me.Controls.Add(Me.TextBox1)
        Me.WebBrowser1.Navigate("http://www.yahoo.co.jp")
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) _
    Handles WebBrowser1.DocumentCompleted
        Dim Document As HtmlDocument = Me.WebBrowser1.Document
        Dim HtmlElements As HtmlElementCollection = Document.GetElementsByTagName("a")
        For Each HtmlElement As HtmlElement In HtmlElements
            If HtmlElement.GetAttribute("href") _
            .StartsWith("http://rd.yahoo.co.jp/toppage/topics/") Then
                Me.TextBox1.Text += HtmlElement.InnerText & ControlChars.CrLf
            End If
        Next
    End Sub
End Class
メンテ

Page: 1 |

WebBrowserでHTMファイルの表示データの一部だけを取得(VB.NET)_1  (No.1の個別表示) [スレッド一覧へ]
日時: 2011/04/05 11:07
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[インターネット][][]                                                *
* キーワード:通信,HTML,WEB,,,                                                    *
***********************************************************************************

元質問:ソースの一部取得は? - st  2006/02/15-13:28No.3117

WebBrowserで表示させて表示されたWebのソース(ちなみに取得したソースはテキストボックスに表示させています。)を、一部分だけとりだして他のテキストボックスに表示させたいのです。

-----------------------------------------------------------------------------------
Re^5: ソースの一部取得は? - 魔界の仮面弁士  2006/02/15-19:24 No.3124
-----------------------------------------------------------------------------------

2003 だとすれば、こんな感じかな。

([プロジェクト]-[参照の追加]の画面にて、COM の "Microsoft HTML Object Library" を追加)
=====================================================================================
Private Sub AxWebBrowser1_DocumentComplete( _
  ByVal sender As Object, _
  ByVal e As AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent _
  ) Handles AxWebBrowser1.DocumentComplete

  ListBox1.Items.Clear()

  Dim Document As mshtml.HTMLDocument = _
            DirectCast(AxWebBrowser1.Document, mshtml.HTMLDocument)
  Dim HtmlElements As mshtml.IHTMLElementCollection = Document.getElementsByTagName("A")
  For Each HtmlElement As mshtml.IHTMLElement In HtmlElements
    Dim Anchor As mshtml.IHTMLAnchorElement = _
           DirectCast(HtmlElement, mshtml.IHTMLAnchorElement)
    If Anchor.href.StartsWith("http://rd.yahoo.co.jp/toppage/topics/") Then
      ListBox1.Items.Add(HtmlElement.innerText)
    End If
    ReleaseComObject(Anchor)
  Next
  ReleaseComObject(HtmlElements)
  ReleaseComObject(Document)
End Sub

Private Sub ReleaseComObject(ByVal O As Object)
  If Not O Is Nothing AndAlso System.Runtime.InteropServices.Marshal.IsComObject(O) Then
    Dim I As Integer = System.Runtime.InteropServices.Marshal.ReleaseComObject(O)
    While I > 0
      I = System.Runtime.InteropServices.Marshal.ReleaseComObject(O)
    End While
  End If
End Sub

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ