IEの文字列取得方法(4パターン)
WinActorはExcelとIEのライブラリが充実しているのが特長の一つだと思うのですが、
最初の頃は選択肢がありすぎて逆に迷うことがありました。
こちらのフォーラムでも個々のパターンでの取得方法については投稿されていますが
まとめはないようなので、自分用によく使う方法4種類ををまとめてみました。
下に行くほど手順や条件が面倒なので、基本は①から試すのがいいのではと思います。
また②は少々HTMLの知識が必要になるため、詳しくない方や引継ぎに不安がある方は
②を飛ばして①→③、④と試すのもありだと思います。
ほかにもこんな方法があるよという方は、ぜひ紹介していただけるとうれしいです。
①自動記録で取得する
皆さんご存知の一番オーソドックスな方法です。
ライブラリの「04_自動記録アクション」から「文字列取得(IE)」などを選択して設定することで取得できます。
また、自動記録モードでボタンのクリックなど操作の記録を行うのと同じように値の取得も記録できます。
自動記録中に値の取得をする場合は、変数一覧画面の左上にある手のボタン(値の取得・設定)を押下します。
そうするとマウスポインタが変わりますので、
あとは記録したい文字やリストにカーソルをあててクリックするだけです。
クリックした対象の画面によって記録のオプションが表示されますので、
適宜選択すれば値取得のノードが作成されます。(以下は表の値取得の記録オプション)
②IE関連ライブラリで取得する
取得したい文字列が①で取得できなかった場合でも、
IDまたはCLASS情報が設定されている場合などは、「17_IE関連」のライブラリで取得できることがあります。
取得したい箇所でライブラリが使用できるかどうかについては
ライブラリ>17_IE関連>01_IEデバッグ 配下のライブラリで確認ができます。
以下の投稿で「17_IE関連」のライブラリで文字列を取得する実例が紹介されているので、
具体的な使い方については以下の投稿を参照することをお勧めします。
・IE操作で指定タグの指定タグNoのテキストを取得したい
・LIタグ内の値取得について
※「IE操作で指定タグの指定タグNoのテキストを取得したい」はスクリプト修正も行っているので、
上級者向けかもです。。。
③ExcelのWebクエリを使用して表を一括取得する
WebクエリはExcel2010から追加された機能で、これを使用すると一瞬で表(Table)をExcelに出力できます。
「表の値取得(IE)」でも同じことができますが、時間がかかるため速度を求める方はWebクエリがお勧めです。
参考に、Excel2010でWebクエリの使い方を解説したサイトを紹介します。
URL http://www4.synapse.ne.jp/yone/excel2010/excel2010_data_webquery.html
余談ですが、Chromeの場合はブラウザの拡張機能「Table Capture」を使用することで取得できるそうです。
「Table Capture」を使用した表の取得は以下の投稿でKNさんが詳細に解説されています。
・Chrome、Edgeを使用時に表の値を一括取得したい
④IEからエミュレーションでExcelなどにコピペする
エミュレーションでIE画面の適当なところをクリックしたあと、Ctrl+Aで全選択し、
Ctrl+Cでコピーした後、ExcelなどにCtrl+Vで貼り付ける方法です。
単純ですが、他の方法で取得できなくても最終手段としてこの方法でだいたい取得できます。
取得したい表の位置が動的に変わる場合、関数やマクロで必要なデータを抜き出すフォーマットを作ると
WinActorでやるより簡単です。
以上、ここまで読んでいただきありがとうございました。