VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/04/02(Wed) 13:31
投稿者しんじ
Eメール
URL
タイトルRe: 再帰的に取得しなくて良いのですか?

投稿したあとにうまくいかない事に気が付いてあっ・・・・って思って修正しました。

昨日の朝から夜中の1時ぐらいまで格闘していたので疲れているみたいです。。。。(笑)

せっかく教えてもらったのに再帰になっていない・・・・
と気付き修正しました。

LOCALウインドウでオブジェクトの内容も確認していき大分IEオブジェクトについて理解できてきました。
最終的には以下のコードとなりました。
クラスモジュールに記載してm_InsidentLogプロパティ経由で他のモジュールから
アクセス出来るようにしました。

結果教えて頂いたコードと殆ど変わりませんが......汗
再帰の部分に関してもデバックで理解する事が出来ました。
本当にありがとう御座います!!!
コードも非常にすっきりしている為、この状態で使用させて頂こうと思います。

IEの判定ですがTypenameで"IHTMLDocument"と"HTMLDocument"をTRUEで判定するようにしました。
他のものに関しては全てExplorerと判定させています。

問題が有るようでしたら御指摘くださいませ。

Private Sub GetHTMLText()
'-----------------------------------------------------------
'--
'--   HTML文書文字列取得
'--
'-----------------------------------------------------------
'--更新履歴:
'--
'-- 2003/4/2 作成
'-----------------------------------------------------------
    Dim strLogBuf As String
    '--ieオブジェクト:HDocVw.WebBrowser.Documentオブジェクトを参照
    If ie Is Nothing Then
        Exit Sub
    End If
    
    If ie.frames.length = 0 Then
        strLogBuf = ie.documentElement.outerText
        Debug.Print strLogBuf
        m_InsidentLog = m_InsidentLog + strLogBuf
    Else
        Dim n As Long
        For n = 0 To ie.frames.length - 1
            GetHTMLText (ie.frames.Item(n).Document)
        Next
    End If
End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -