質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

3131閲覧

メッセージボックスを表示させないとエラーが出る理由

naow9y

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2015/04/25 06:46

「オブジェクトが必要です」と表示される理由は何でしょうか。

Private Sub CommandButton3_Click()
Dim ie As InternetExplorer

Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.Navigate "http://www.XXXX.jp/a/auth" Do While ie.Busy Or ie.ReadyState < READYSTATE_COMPLETE DoEvents Loop ie.document.all("login_id").Value = Range("C8") ie.document.all("password").Value = Range("C9") ie.document.forms(0).submit Application.Wait (Now + TimeValue("00:00:05")) Set objShell = CreateObject("Shell.Application") Set ie2 = objShell.Windows(objShell.Windows.Count - 1) Dim objA As Object For Each objA In ie2.document.all.tags("A") 'ココのメッセージボックスを表示させないと、submitの部分でエラー MsgBox "Aタグテキスト名:" & objA.innerText If objA.innerText = "お知らせ" Then objA.Click Exit For End If Next Set ie = Nothing Application.Wait (Now + TimeValue("00:00:10"))

'ココの部分で、エラー「オブジェクトが必要です」と表示される。
ie2.document.forms(0).submit

Set input_Text = ie2.document.getElementsByTagName("input")(0) MsgBox input_Text.Value Set objA = Nothing

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tak1wa

2015/04/25 07:24

URLが不明なため、机上のみで検証していませんが、 メッセージボックス無しでデバッグ実行した場合は問題なく成功しますか?それともエラーになりますか?
naow9y

2015/04/25 07:49

メッセージボックスの行を削除しましたが、同じ「オブジェクトが必要です」のエラーでした。
Tak1wa

2015/04/25 07:58

デバッグ実行で「If objA.innerText = "お知らせ" Then」にて一度ブレークポイントで止めて、その後1行づつステップ実行しても同じでしょうか?
naow9y

2015/04/25 08:08

ご指示の通りブレークポイントを作って、1つづつ実行したところ実行可能でした!
guest

回答1

0

ベストアンサー

メッセージボックスまたはデバッグモードでのステップ実行で成功するとのことなので、
メッセージボックス出力行を「DoEvents」に変更してみてください。

lang

1'MsgBox "Aタグテキスト名:" & objA.innerText 2DoEvents '<- ADD 3If objA.innerText = "お知らせ" Then 4 objA.Click 5 Exit For 6 End If 7Next

このケースは、イベント制御を一度OSに移してやればうまく動く可能性が高いです。

投稿2015/04/25 08:20

編集2015/04/25 08:23
Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naow9y

2015/04/25 08:24

凄いですね。深すぎて分かりませんでした。本も読まずに独学だったので、長年の悩みがやっと解決しました。大変感謝いたします。M(__)M
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問