タイトル : エクセル動作確認後、VB6でのエラーにつきまして 投稿日 : 2017/03/16(Thu) 17:48 投稿者 : susu
この度、お世話になります。 以下につきまして宜しくお願い致します。 タイトル:エクセル動作確認後、VB6でのエラーにつきまして 環境 OS:Windows 7 Microsoft Office Excel 2000 Microsoft Visual Basic 6.0 VB歴は長いのですが詳しくはありません。 概要 webページ起動後に既存フォームチェックボックスを選択するものです。 「参照設定」 「Microsoft HTML Object Library」 「Microsoft Internet Controls」 「Micrsoft Excel 9.0 Object Library 」 にチェックが付けました。 エクセルでは問題なく動作確認できました。 操作手順 1.Command1ボタン ⇒ webページ起動 ⇒ フォームチェックボックス表示 2.フォームチェックボックスの選択 ・Command2ボタン⇒ 既存フォームチェックボックス ⇒ 赤のフォームチェックボックスを選択 ・Command3ボタン⇒ 既存フォームチェックボックス ⇒ 青のフォームチェックボックスを選択 ・Command4ボタン⇒ webページを閉じる VB6で動作しますとPublic Sub Command2_Click()、Public Sub Command3_Click()内の objIE.Document.Forms("form1").lcolor(0).Checked = True objIE.Document.Forms("form1").lcolor(1).Checked = True の所で[実行時エラー '424':オブジェクトが必要です。]エラーになります。 オブジェクトに関して試し記述、検索してみましたが解決できませんでした。 質問 objIE.Document.Forms("form1")・・・・でエラーにつきまして ご教示願えますと幸いであります。 ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Option Explicit Public Sub Command1_Click() Dim objIE1 As New InternetExplorer Dim BusyCnt As Long 'IE表示 objIE1.Visible = True '指定したURLのページを表示する objIE1.Navigate URL:="http://www.vba-ie.net/code/test.html" '表示待ち BusyCnt = 0 Do While (1) If objIE1.Busy Then Application.Wait (Now() + TimeValue("00:00:01")) DoEvents BusyCnt = 0 Else BusyCnt = BusyCnt + 1 End If Application.Wait (Now() + TimeValue("00:00:01")) If BusyCnt > 3 Then '連続3秒以上busyで無かったら、次へ Exit Do End If Loop Set objIE = objIE1 MsgBox "表示完了", vbOKOnly End Sub Public Sub Command2_Click() '赤選択 objIE.Document.Forms("form1").lcolor(0).Checked = True End Sub Public Sub Command3_Click() '青選択 objIE.Document.Forms("form1").lcolor(1).Checked = True End Sub Public Sub Command4_Click() 'IE終了 objIE.Quit End Sub ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' |