前回で起動したカレンダーの月を変更する方法です。ページの仕様を見るとSELECTタグが付いていました。ということはセレクトボックスを選択するコードを書けばよいとわかります。ただし、ここで注意しなければいけないのは、下記のようにSELECTタグの要素にはonchangeがないということです。いくらセレクトボックスの数値を変更しても、それだけではカレンダーが変わりません。ただのchangeイベントでは起動しないのです。下記の通りになります。
VBA
Dim evt1 As Object
Set evt1 = objIE.document.createEvent("HTMLEvents")
evt1.initEvent "change", True, False
With objIE.document.getElementsByClassName("flatpickr-monthDropdown-months")(0)
'12月 なお、0:1月 1:2月 2:3月 3:4月 4:5月 5:6月 6:7月 7:8月 8:9月 9:10月 10:11月 11:12月
.Value = "11"
.dispatchEvent evt1
End Wit
Set evt1 = objIE.document.createEvent("HTMLEvents")
evt1.initEvent "change", True, False
With objIE.document.getElementsByClassName("flatpickr-monthDropdown-months")(0)
'12月 なお、0:1月 1:2月 2:3月 3:4月 4:5月 5:6月 6:7月 7:8月 8:9月 9:10月 10:11月 11:12月
.Value = "11"
.dispatchEvent evt1
End Wit
いきなり値を変えるのではなく、セレクトボックスの選択リストを表示させた方がベストですが、この方法でも操作できるのでよしとします。では。
この記事へのコメント