タイトル : 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 は宣言されていないので、 >文法エラーになるはずなのですが…。 ご指導、ご指摘は勉強させてもらいます。自分が考えた以上のものになりました。 心より感謝を申し上げます。 |