[リストへもどる]
一括表示

投稿時間:2003/12/13(Sat) 04:12
投稿者名:かよパパ
Eメール:
URL :
タイトル:
一部のフレームが参照できない
はじめまして、かよパパと申します。
こちらの記事(No3341)などを参考にIEのオブジェクトからテキストを取得しようと
しております。しかしながら一部のサイトで実行時エラー 「アクセスが拒否されました。」
とのエラーが発生します。アドバイスよろしくお願いします。

発生状況:
・フレームを使用しているサイトで発生する(しないサイトもある)
・最初のフレームのみ参照できない
・その他のフレームはウォッチウインドウで参照できることを確認

使用環境:
Windows2000SP4
IE6.0SP1
VB6

当方VB初心者につき情報不足等ご指示ください

投稿時間:2003/12/13(Sat) 11:17
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 一部のフレームが参照できない
> こちらの記事(No3341)などを参考にIEのオブジェクトからテキストを取得しようと
> しております。しかしながら一部のサイトで実行時エラー 「アクセスが拒否されました。」

そのサンプルではなく、No.3877 と Mo.3882 に魔界の仮面弁士さんの投稿のサンプルが
あるのでそれを使わせてもらって下さい。

又、こう言った場合の質問は実際の HPのアドレスや取得のコードを明記して頂かないと
お望みのような回答は得られませんというか、そのHPの設定によっても取得方法等が異なる
からです。

投稿時間:2003/12/14(Sun) 08:37
投稿者名:かよパパ
Eメール:
URL :
タイトル:
Re^2: 一部のフレームが参照できない
花ちゃん様 ご指示、ご回答ありがとうございます

> そのサンプルではなく、No.3877 と Mo.3882 に魔界の仮面弁士さんの投稿のサンプルが
> あるのでそれを使わせてもらって下さい。

サンプルちらっとだけですが拝見してきました。これから格闘してみます。

> 又、こう言った場合の質問は実際の HPのアドレスや取得のコードを明記して頂かないと
> お望みのような回答は得られませんというか、そのHPの設定によっても取得方法等が異なる
> からです。

すみませんでした。実は対象HPはイントラです。作成したHTMLの検証(原稿との突合せ)
用のツールとして作成しています。

動作チェックで使っているHPは http://www.jorudan.co.jp/ (乗換案内)
                http://www.goo.ne.jp/ (goo)などです。
現状のコードは下にようなものです。よろしくお願いします。


Private objIE  As Object
Private objDoc As HTMLDocument

Private Sub Form_Load()

    Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True

End Sub

Private Sub Command1_Click()
    
    'ページを開く
    objIE.navigate Me.Text1.Text
    
    '開ききるまでじっと待つ
    Do While objIE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    
    Set objDoc = objIE.document
    
    'Textソースをフォームに表示する
    Me.Text2.Text = ""
    pickupText objDoc

End Sub

Sub pickupText(ByVal objDoc As Object)
  
  If objDoc Is Nothing Then
    Exit Sub
  End If
  If objDoc.frames.length = 0 Then
      Me.Text2.Text = Me.Text2.Text + objDoc.documentElement.outerText
  Else
      Dim n As Long
      For n = 0 To objDoc.frames.length - 1
          pickupText objDoc.frames.Item(n).document
      Next
  End If

End Sub