ファイルアップロード前のプルダウン選択ができない
未読分:5件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#5 2016年2月1日(月)16時20分 From: カープファン | 返事 削除 変更 |
VBAマスターのメッセージ(#4)への返事 返事が遅れて申し訳ありません。 Option Explicitを設定していました。 勉強になりました。 その後、分かったことを報告します。 1.今回のプルダウンメニューは窓をクリックすると、窓が開いてメニューがぶら下がり、 目的のメニューをクリックするとそのメニューが窓に表示される方式でした。 ところが、 OBJB.Selected = True が通っても何の変化がなかったので, この原因について調査し時間がかかりました、これに関しある専門家から、これで受け入れられているとの指摘があり、データが揃った段階で実テストしてみます。 2.次に、前の処理との関係からか For Each OBJB In OBJ.tags("option") のところで、エラー91が出たり出なかったり、不安定だったので、試しに、この前に While OBJB .Busy Or .ReadyState <> 4: DoEvents: Wend を入れるとこれがまたエラーになり、最終的には Sleep 1000 を入れて安定しました。 おかげさまで解決しました。 VBAマスターさん 有難うございました。 > あっ、ほんとですね。。。 > > 私もcが抜けているのに気づきませんでした。 > > すいません。 > > 「変数が定義されていません」がでたということは、変数を強制定義させる「Option Explicit」を設定されているということでしょうか? > > オブジェクトの定義を行うとうまくいかないこともありますので、その場合は設定しないほうがよいこともありますので、参考までに。 > > > VBAマスターのメッセージ(#2)への返事 > > 早速のご指導、ありがとうございました。 > > Dim OBJBを削除したところ、「変数が定義されていません」が出ました。 > > > > 実は、OBJB.Seleted = Trueの部分はネットで提示されていたのを使用し、OBJBだけを入れ替えたものだったのですが、Seletedの綴りが間違っていたことが分かりました。 > > 何も考えずにコピーしたエラーで、お粗末な話 申し訳ありません。 > > OBJB.Selected = Trueに修正しエラーは出なくなったのですが、肝心のプルダウンは選択されません。 > > > > その後、プルダウンのところを調べてみると、一度クリックしないとプルダウンメニューが選択できないような仕組みになっているようでして、素人には難しい、調査しまた報告したいと思います。 > > > > 今後もよろしくお願いします。 > > > 選択自体は問題ないように見えますね。 > > > > > > 型宣言でエラーが起きているのかも知れませ。 > > > > > > Dim OBJBを削除してみたらどうですか? > > > > > > > > > > ネットのサンプルを参考に作成し、走らせると下記エラー個所でエラー91が出ました。 > > > > MsgBox OBJB.Valueで確認するときちんと目的のバリュー値(option value="aaa")はキャッチできています。 > > > > 今一歩なのですが、原因がわかりません。 > > > > ご指導のほどよろしくお願いします。 > > > > > > > > Set OBJ = OBJIE.document.getElementsByName("bbb")(0) > > > > Call setSelect(OBJ, "aaa") > > > > > > > > Sub setSelect(OBJ As Object, VS As String) > > > > Dim OBJB > > > > For Each OBJB In OBJ.tags("option") > > > > Sleep 10 > > > > If OBJB.Value = VS Then > > > > 'MsgBox OBJB.Value > > > > OBJB.Seleted = True'エラー個所 > > > > Exit For > > > > End If > > > > Next > > > > End Sub |
Message#4 2016年1月29日(金)14時22分 From: VBAマスター | 返事 削除 変更 |
あっ、ほんとですね。。。 私もcが抜けているのに気づきませんでした。 すいません。 「変数が定義されていません」がでたということは、変数を強制定義させる「Option Explicit」を設定されているということでしょうか? オブジェクトの定義を行うとうまくいかないこともありますので、その場合は設定しないほうがよいこともありますので、参考までに。 > VBAマスターのメッセージ(#2)への返事 > 早速のご指導、ありがとうございました。 > Dim OBJBを削除したところ、「変数が定義されていません」が出ました。 > > 実は、OBJB.Seleted = Trueの部分はネットで提示されていたのを使用し、OBJBだけを入れ替えたものだったのですが、Seletedの綴りが間違っていたことが分かりました。 > 何も考えずにコピーしたエラーで、お粗末な話 申し訳ありません。 > OBJB.Selected = Trueに修正しエラーは出なくなったのですが、肝心のプルダウンは選択されません。 > > その後、プルダウンのところを調べてみると、一度クリックしないとプルダウンメニューが選択できないような仕組みになっているようでして、素人には難しい、調査しまた報告したいと思います。 > > 今後もよろしくお願いします。 > > 選択自体は問題ないように見えますね。 > > > > 型宣言でエラーが起きているのかも知れませ。 > > > > Dim OBJBを削除してみたらどうですか? > > > > > > > ネットのサンプルを参考に作成し、走らせると下記エラー個所でエラー91が出ました。 > > > MsgBox OBJB.Valueで確認するときちんと目的のバリュー値(option value="aaa")はキャッチできています。 > > > 今一歩なのですが、原因がわかりません。 > > > ご指導のほどよろしくお願いします。 > > > > > > Set OBJ = OBJIE.document.getElementsByName("bbb")(0) > > > Call setSelect(OBJ, "aaa") > > > > > > Sub setSelect(OBJ As Object, VS As String) > > > Dim OBJB > > > For Each OBJB In OBJ.tags("option") > > > Sleep 10 > > > If OBJB.Value = VS Then > > > 'MsgBox OBJB.Value > > > OBJB.Seleted = True'エラー個所 > > > Exit For > > > End If > > > Next > > > End Sub |
Message#3 2016年1月29日(金)10時54分 From: カープファン | 返事 削除 変更 |
VBAマスターのメッセージ(#2)への返事 早速のご指導、ありがとうございました。 Dim OBJBを削除したところ、「変数が定義されていません」が出ました。 実は、OBJB.Seleted = Trueの部分はネットで提示されていたのを使用し、OBJBだけを入れ替えたものだったのですが、Seletedの綴りが間違っていたことが分かりました。 何も考えずにコピーしたエラーで、お粗末な話 申し訳ありません。 OBJB.Selected = Trueに修正しエラーは出なくなったのですが、肝心のプルダウンは選択されません。 その後、プルダウンのところを調べてみると、一度クリックしないとプルダウンメニューが選択できないような仕組みになっているようでして、素人には難しい、調査しまた報告したいと思います。 今後もよろしくお願いします。 > 選択自体は問題ないように見えますね。 > > 型宣言でエラーが起きているのかも知れませ。 > > Dim OBJBを削除してみたらどうですか? > > > > ネットのサンプルを参考に作成し、走らせると下記エラー個所でエラー91が出ました。 > > MsgBox OBJB.Valueで確認するときちんと目的のバリュー値(option value="aaa")はキャッチできています。 > > 今一歩なのですが、原因がわかりません。 > > ご指導のほどよろしくお願いします。 > > > > Set OBJ = OBJIE.document.getElementsByName("bbb")(0) > > Call setSelect(OBJ, "aaa") > > > > Sub setSelect(OBJ As Object, VS As String) > > Dim OBJB > > For Each OBJB In OBJ.tags("option") > > Sleep 10 > > If OBJB.Value = VS Then > > 'MsgBox OBJB.Value > > OBJB.Seleted = True'エラー個所 > > Exit For > > End If > > Next > > End Sub |
Message#2 2016年1月29日(金)00時22分 From: VBAマスター | 返事 削除 変更 |
選択自体は問題ないように見えますね。 型宣言でエラーが起きているのかも知れませ。 Dim OBJBを削除してみたらどうですか? > ネットのサンプルを参考に作成し、走らせると下記エラー個所でエラー91が出ました。 > MsgBox OBJB.Valueで確認するときちんと目的のバリュー値(option value="aaa")はキャッチできています。 > 今一歩なのですが、原因がわかりません。 > ご指導のほどよろしくお願いします。 > > Set OBJ = OBJIE.document.getElementsByName("bbb")(0) > Call setSelect(OBJ, "aaa") > > Sub setSelect(OBJ As Object, VS As String) > Dim OBJB > For Each OBJB In OBJ.tags("option") > Sleep 10 > If OBJB.Value = VS Then > 'MsgBox OBJB.Value > OBJB.Seleted = True'エラー個所 > Exit For > End If > Next > End Sub |
Message#1 2016年1月28日(木)22時25分 From: カープファン | 返事 削除 変更 |
ネットのサンプルを参考に作成し、走らせると下記エラー個所でエラー91が出ました。 MsgBox OBJB.Valueで確認するときちんと目的のバリュー値(option value="aaa")はキャッチできています。 今一歩なのですが、原因がわかりません。 ご指導のほどよろしくお願いします。 Set OBJ = OBJIE.document.getElementsByName("bbb")(0) Call setSelect(OBJ, "aaa") Sub setSelect(OBJ As Object, VS As String) Dim OBJB For Each OBJB In OBJ.tags("option") Sleep 10 If OBJB.Value = VS Then 'MsgBox OBJB.Value OBJB.Seleted = True'エラー個所 Exit For End If Next End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降