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

投稿日: 2003/04/01(Tue) 00:46
投稿者しんじ
Eメール
URL
タイトルIEオブジェクトのDocumentオブジェクトについて

いつもお世話になっております。
起動済みのIEオブジェクトをSETで参照してテキスト全てを参照したいのですが
タイトルの文字列しか表示されません。
どうやったら参照出来るのかわかる方教えてください。
ウェブブラウザコントロールでないと無理なのでしょうか?

参照設定はMicrosoft Internet Controlです。
IEのクラス名はIEFrameをオブジェクト参照しています。

単純にIEのフレームを参照しているのでタイトルしか表示されないのでしょうか?
spy++で調べるとIE Serverというクラス名がブラウザなのですが、デスクトップのコントロールを
全て調べてもIE Serverというクラス名はありません。

別のIEをオブジェクト参照する手順はあまり公開されておりませんので、たいしたコードではないですが
記載しますのでよろしくお願いいたします。

Public Function SetIEObject()
'-----------------------------------------------------------
'--
'--   IEの起動ウインドウ数を取得しインシデント画面を検索
'--
'-----------------------------------------------------------
'--更新履歴:
'--
'-- 2003/3/31 作成
'-----------------------------------------------------------
    Dim ie As SHDocVw.WebBrowser
    Dim sw As New SHDocVw.ShellWindows
    Dim hwnd As Long
    Dim strClassName As String * 100
    Dim strCaption As String * 80
    Dim iHITCounta As Integer
    
    Const CONST_CLASS_NAME As String = "IEFrame"
    Const CONST_CAPTION_NAME As String = "××××画面 - Microsoft Internet Explorer"
    Const CONST_WINDOW_CAPTION As String = "◇◇◇◇画面"
    
    On Error GoTo Err:
    
    '--変数の初期化
    iHITCounta = 0
    bWindowShowFragg = False
    
    If sw.Count = 0 Then
        MsgBox "インターネットエクスプローラーが起動していません。", _
            vbInformation
        Exit Function
    Else
        For i = 0 To sw.Count - 1
            Set ie = sw(i)
            '--実行ファイルのフルパスを調べてEXEファイル名でエクスプローラーとIEを判定
            If Right(ie.FullName, 12) = "IEXPLORE.EXE" Then
            
                '--ハンドルを取得
                hwnd = ie.hwnd
                '--Windowのタイトル取得
                GetWindowText hwnd, strCaption, Len(strCaption)
                '--WindowのClass名取得
                GetClassName hwnd, strClassName, Len(strClassName)
                    
'---------------------------------------------------------------------
                    '--IEオブジェクトのドキュメントを変数に格納
                    Set ieDoc = ie.Document
                    Debug.Print ieDoc.documentelement.outertext

                    ↑ここでBODYのテキストが表示されなくて困っています
'---------------------------------------------------------------------
            End If
        Next
            Set ie = Nothing        '--メモリの開放
    End If
        '--HITしない場合はユーザーにフィードバックを行う
        If iHITCounta = 0 Then
            MsgBox "画面が起動していません。" _
                & vbCrLf _
                & "画面を表示してから実行して下さい。", _
                vbInformation
            Exit Function
        End If
    Exit Function
Err:
    MsgBox "SetIEObject関数内でエラーが発生しました。" _
        & vbCrLf _
        & "断続的に失敗を繰り返す場合は×××に問合せください。", _
        vbCritical
    Exit Function
End Function


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

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

- Web Forum -