動的html?の値取得について

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2019年3月2日(土)04時46分
From: vbavba
返事 削除 変更
Loop Until じゃなくてfor earch でまわしたほうがいいんじゃない?

> 下記のようなコードを作成したのですが・・・(パクリばかりですが)
> getElementsByClassName("state2")(0)で値取得を試みているのですが
> うまく取得できず、LOOP処理が抜けられないことがあります。
> ※値取得出来る場合と出来ない場合があります。
> 出来ない場合はLOOPから抜けられません。
> どうにかして、安定してgetElementsByClassName("state2")(0)の値を取得したいのですが、うまくいきません。
> 何か良い方法がございましたら、ご教示頂けませんでしょうか。
> 本当に困っているので宜しくお願いします。
> ※ちなみにIEのバージョンは11です。
>
> Dim st As String
> Dim objIE As Object
>
> Set objIE = CreateObject("InternetExplorer.application")
>
> objIE.Visible = True
>
> objIE.Navigate "http://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp"
>
> Do While objIE.Busy = True Or objIE.readyState <> 4
> DoEvents
> Loop
>
>
> objIE.document.forms(0).Item("main:no1").Value = Cells(1, 1)
>
> objIE.document.forms(0).Item("main:toiStart").Click
>
>
> Do While objIE.Busy = True Or objIE.readyState <> 4
> DoEvents
> Loop
>
>
> Do
> DoEvents
> Loop Until (TypeName(objIE.document.getElementsByClassName("state2")(0)) <> "Nothing")
>
>
> st = objIE.document.getElementsByClassName("state2")(0).innerText
>
> MsgBox st
>
> objIE.Quit
> Set objIE = Nothing
>
> MsgBox "完了"

Message#1 2018年5月23日(水)20時41分
From: こばこば
返事 削除 変更
下記のようなコードを作成したのですが・・・(パクリばかりですが)
getElementsByClassName("state2")(0)で値取得を試みているのですが
うまく取得できず、LOOP処理が抜けられないことがあります。
※値取得出来る場合と出来ない場合があります。
出来ない場合はLOOPから抜けられません。
どうにかして、安定してgetElementsByClassName("state2")(0)の値を取得したいのですが、うまくいきません。
何か良い方法がございましたら、ご教示頂けませんでしょうか。
本当に困っているので宜しくお願いします。
※ちなみにIEのバージョンは11です。

Dim st As String
Dim objIE As Object

Set objIE = CreateObject("InternetExplorer.application")

objIE.Visible = True

objIE.Navigate "http://k2k.sagawa-exp.co.jp/p/sagawa/web/okurijoinput.jsp"

Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop


objIE.document.forms(0).Item("main:no1").Value = Cells(1, 1)

objIE.document.forms(0).Item("main:toiStart").Click


Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop


Do
DoEvents
Loop Until (TypeName(objIE.document.getElementsByClassName("state2")(0)) <> "Nothing")


st = objIE.document.getElementsByClassName("state2")(0).innerText

MsgBox st

objIE.Quit
Set objIE = Nothing

MsgBox "完了"

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください^^

VBAのInternetExplorer操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE(InternetExplorer)操作にも挑戦してみてください^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

エクセルVBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com