質問するログイン新規登録
VBA

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

Q&A

解決済

2回答

12435閲覧

VBAでIE操作(プルダウンを選択)

koneko-neko

総合スコア13

VBA

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

0グッド

0クリップ

投稿2020/01/31 06:13

0

0

VBAでIE操作(プルダウンを選択)をしたいのですが、うまくいきません。

「sel_st_yy」と「sel_st_mm」(両方ともプルダウン)に年と月を指定したいのですが、
うまくいきません。

VBAのコードは下記です。

Sub start()

Dim objIE As Object

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True

objIE.Navigate "https://指定のURL"

Application.Wait waitTime
objIE.document.getElementsByName("sel_st_yy")(0).Value = "2019"
objIE.document.getElementsByName("sel_st_mm")(0).Value = "08"

End Sub

HTMLはこんな感じになっています。

<FORM name="pop_detail" action="menu800_sub2_2_3" method="post" target="pop_800_2_1"> <INPUT type="hidden" name="sel_st_yy" value=""> <INPUT type="hidden" name="sel_st_mm" value=""> </FORM> <FORM name="pop_summary" action="menu800_sub2_2_2" method="post" target="pop_800_2_2"> <INPUT type="hidden" name="sel_st_yy" value=""> <INPUT type="hidden" name="sel_st_mm" value=""> </FORM> <input type="hidden" name="menu_id" > </FORM> </TD> <TD colspan=3></TD> </TR> <TR class="t3"> <TD align="right" nowrap>年月:</TD> <TD> <select name="sel_st_yy" class="select"> <option value=""></option> <option value="2020" SELECTED>2020</option> <option value="2019">2019</option> <option value="2018">2018</option> <option value="2017">2017</option>

</select>

<select name="sel_st_mm" class="select"> <option value=""></option> <option value="01" SELECTED>01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option>

</select>

</TD>

他のはこの方法で選択できるのですが、このコードだけが選択できません。
ご教示のほど、よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

h.horikoshi様
なんとか出来ました。
ありがとうございました!

投稿2020/02/03 02:45

koneko-neko

総合スコア13

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

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

0

ベストアンサー

ブルダウン(SELECT)のOPTION要素はValueでは選択できません。
選択したいOPTION要素のSELECTEDオプションをtrueにしてください。

具体的にはたとえば以下のコードとなります。

Dim opts As Object: Set opts = IE.Document.getElementsByName("sel_st_mm")(0).getElementsByTagName("OPTION") Dim ix As Long For ix = 0 To opts.Length - 1 If (opts(ix).Value = "03") Then ' value="03"の要素を選択 opts(ix).Selected = True Exit For End If Next ix

あるいはindex番号でも設定できます。

IE.Document.getElementsByName("sel_st_mm")(0).selectedIndex=4 ' 4番目の要素を選択

投稿2020/02/03 01:14

h.horikoshi

総合スコア505

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問