ファイルアップロード前のプルダウン選択ができない

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

最新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#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

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

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

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

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

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

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