tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: エクセル動作確認後、VB6でのエラーにつきまして
投稿日: 2017/03/16(Thu) 23:31
投稿者susu
魔界の仮面弁士 さん

返答をして頂きまして、ありがとうございました。

>Office 2000 は Windows XP までの対応なので、Vista や 7 での動作保証はありません。
はい、分かりました。

>IE のバージョンは
IE のバージョンは 11です。

>VBA では動作するものの、VB6 からの制御がうまく行かない、ということでしょうか。
はい、VBA では動作しますがVB6のCommand2、Command3のIE.Document.Forms("form1").lcolorでエラーになります。

>このフォームとは、Excel の UserForm ではなく、VB6 の Form のことでしょうか。
不十分で済みません。 "http://www.vba-ie.net/code/test.html"のwebページのことでした。

>ひとまず Command2_Click の内容を下記のようにすると、何が出力されてきますか?

Debug.Print "objIE => "; TypeName(objIE)                   結果  objIE => Empty(空白)
Debug.Print "objIE.Document =>"; TypeName(objIE.Document)  結果  実行時エラー '424':オブジェクトが必要です。


提示されて頂きました下記の記述でVB6を起動しましたら
Command1ボタンが起動後にCommand2〜Command4が許可され、Command2(赤)Command3(青)が動作できました。

Option Explicit

   ↓
   ↓
Command4.Enabled = False
End Sub

ご指導、ご指摘
>ドキュメントの読み込みを待ち合わせるために、ループ待機を用いないようにしましょう。
>かわりに DocumentComplete イベントを使い、それが呼び出された後で
>objIE.Document の処理を許可するようにします。
>ループ中で DoEvents を呼び出しているので(本来は望ましくない)、
>ループ中に他のボタンを押せてしまう可能性があります。

>その場合、objIE が Nothing (あるいは Empty) という未設定の状態や、
>.forms("form1") が ロードされきる前に処理されてしまう可能性もありえます。
>(今回の事象がそうだといっているわけでは無いですが)

> >    Set objIE = objIE1
>そもそも変数 objIE は宣言されていないので、
>文法エラーになるはずなのですが…。

ご指導、ご指摘は勉強させてもらいます。自分が考えた以上のものになりました。
心より感謝を申し上げます。

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

古いスレッドにレスはつけられません。