VBAでIE操作する際のセレクトボックスの操作について
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2015年10月11日(日)08時28分 From: VBAマスター | 返事 削除 変更 |
> 選択する箇所は個人のアカウントによって表示項目が変わります。 > もともとは非表示項目ですが、ある場所をクリックすると選択肢が表示されます。 この表示・非表示はjavaScriptで処理されているものですか? 単純にcssなどで表示させていないのであれば、ソース自体は存在しますので、表示処理後での選択は可能かと思います。 > For i = 0 To objIE.document.all.Length - 1 > If objIE.document.all(i).tagName = "SELECT" Then > If objIE.document.all(i).Name = "Content:AAA" Then > ’★★★ここでの選択する処理がわかりません★★★ > End If > End If そのオブジェクトまでたどりつけているのであれば、 objIE.document.all(i).selectedIndex = 2 objIE.document.all(i)..Selected = True で選択できると思いますが、こちらの条件式まで処理がうまくいっているか確認が必要ですね。 |
Message#1 2015年10月10日(土)20時47分 From: いわさ | 返事 削除 変更 |
業務の効率化のため、vbaでIEを制御したいと考えていますが、選択形式の箇所が選択できません。 選択する箇所は個人のアカウントによって表示項目が変わります。 もともとは非表示項目ですが、ある場所をクリックすると選択肢が表示されます。 選択肢の表示までは制御できたのですが、下記のようにoption項目がhtmlに記載されていないため、いろいろなコードを試しましたが選択することができませんでした。 ■HTMLの該当箇所と思われる箇所(size=4は私のアカウントの場合です) <select size="4" name="Content:AAA" multiple="multiple" id="AAA" style="display:none;"> </select> ■あらかじめ選択しておき、vbaにより選択した項目の情報を取得した結果例 text --> textnaiyou (これが選択したい選択肢) value --> 400 index --> 0 ※textは正しいものが取得できていると思いますが、html内に記載されていないvalueとindexは正しいものが判別はできませんでした。 上記valueやindexをもとにvbaを書き、selectedIndex=0や、selected = TRUEを試しても選択することはできませんでした。 ■使用していたコード Dim i As Integer For i = 0 To objIE.document.all.Length - 1 If objIE.document.all(i).tagName = "SELECT" Then If objIE.document.all(i).Name = "Content:AAA" Then ’★★★ここでの選択する処理がわかりません★★★ End If End If Next i ご教示のほど、よろしくお願いいたします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降