さて、手動の場合はどうやっているかというと、自至双方の日付欄に検索したい日付をカレンダー上からマウスクリックして入力、次に表示ボタンをクリックして抽出します。これをVBAでトレースします。日付入力欄に直接日付を入力すればと簡単に考えていたのですが、どっこい日付欄は直接入力ができないだけでなく、ページの仕様を見ると、日付欄はテキストボックスではないのです。もちろん隠れたテキストボックスもありません。
ん~ん、これは大変だけどやってみよう!ということで、いきなり始まりましたシリーズですが、今日は第1回「カレンダー入力flatpickrを起動しよう」です。
これは簡単です。下記の通り、日付欄にフォーカスをあてればよいのです。
VBA
Dim srchbtn As Object
'自はhistoryTermFromDate、至はhistoryTermToDate
Set srchbtn = objIE.document.getElementById("historyTermFromDate")
'フォーカスON flatpickrカレンダー起動
srchbtn.Focus
'フォーカスOFF
srchbtn.Blur
'自はhistoryTermFromDate、至はhistoryTermToDate
Set srchbtn = objIE.document.getElementById("historyTermFromDate")
'フォーカスON flatpickrカレンダー起動
srchbtn.Focus
'フォーカスOFF
srchbtn.Blur
上記とは別に次回以降で説明するマウスイベントのmousedownを使う方法もありますが、flatpickrを起動させるだけならフォーカスの方が手っ取り早いです。では。
この記事へのコメント