VBAでブラウザを操作する件について
初っぱなからchromeを操作しようとしてみた(失敗)
以前の記事「VBA練習 振替伝票シート自動作成」を書いてから、4ヶ月程度が経過しました。
その記事の中で、今後の展望として「振替伝票の内容をクラウド会計サイトにアップロードする」ってのを書いてたんですが、今現在実現しておりません。
お世話になっている税理士さんによると、別のお客さんで同じことを実現している方がいらっしゃるそうなので、僕も今年中には実現したいと思ってて、折りに触れて調べるようにはしてたんですよ。
インターネットエクスプローラーをVBAで操作できることは知っていたんですが、IEって今後どんどん使われなくなっていくブラウザだってことも知ってたので、現在愛用しているchromeの操作から始めようとしちゃったんですね、最初。
で、最初に見つけた記事がこちらです。
【EXCEL VBA | ノート】WEBブラウザを自動操作する!Selenium Basicを始める!(Chrome編)
この記事に従って、ワケもわからないまま「SeleniumBasic」のインストール・設定をし、記事に掲載されていたコードをそのまま(URLのみグーグルに変更)書いてみました。
これ、実行してもなぜか上手いこと動かなかったんです。
①ブラウザらしきウィンドウが一瞬立ち上がるけど、すぐに消える
②stopの部分でプログラム進行が止まるはずなのに、そんなふうに見えない
ってな状態でした。
「うーん、なんか上手くいかんけど、急いでるわけでもないし、そのうちまた暇なときに調べてみよっと」
って思ったのが3ヶ月ほど前です。
タイマムシンさん、プログラムのこと考えるのそんな好きじゃないと思いますすみません(笑)
「いっちょIEでやってみるか」と思ってみたら
先日、たまたま気が向いてPC触ってるときに、
「そういや、あの件ほったらかしだなー。そろそろちゃんと調べてみるか」
って思い直しまして、
「VBAで操作対象にしてる標準ブラウザはやっぱりIEだろうし、『IEを操作する方法』を先にひととおりやってみてからなら、chromeで上手くいかなかった原因もわかるんじゃないかな」
という考えに行き着いて、ちょっと本気で調べてみたんですよ。電車の中でしたけど(←ついでじゃねーか)
で、「これ良いやん」って記事を見つけました。
【お手軽カンタン自動化!エクセルVBA × IEで身代わりロボットを作る最短8ステップ】~その1~参照設定
「よーし、とりあえずこの8ステップをやるぞー」
という気合いの元、1ステップ目の記事を読んでいたら、
------------------------
3、以下二つの項目をチェック
・Microsoft Internet Controls
・Microsoft HTML Object Library
------------------------
なんて書いてあるわけですよ。
「マイクロソフト インターネット コントロールズ…?」
「マイクロソフト HTML オブジェクト ライブラリー…?」
「これって、どんなブラウザでも共通の機能に見えるなぁ」
「これじゃねーの?動かなかった原因」
というわけで、4ヶ月前に動かなかったファイルを開き、参照設定を変えてみたところ、
なんと動くじゃないですか…(笑)
ばっちりグーグルのサイトが立ち上がってくれました。
というわけで、「基本は大事だよ」というお話です(笑)
今後、週に1ステップくらいのペースで進めていくつもりです。しんどくならない範囲で。
2ヶ月で8ステップ完了するころには、VBAとブラウザの関係を理解できてると良いなぁ。
編集後記
ここ2ヶ月ほど、本業がちょっとばかしブラック労働気味になってまして、休日はひたすら休むことに専念していたせいでブログ更新をサボってしまっていたタイマムシンです。
あ、給料が出ないタイプのブラックではなく、単純に労働時間が長いタイプのブラックなので、お財布はかえってホクホクです。ご安心ください(笑)
でも労働時間が長いって病みそうになるよね…仕事以外何もできなくなるし…異動願い出そうかな。
通勤時間が往復3時間くらいかかる今の状態で、時間外を70時間くらいやってそれなりにキツさを感じてるので、僕の時間外の限界値はおそらく80~90時間あたりにあるんじゃないかと思います。
過労死認定の時間外労働時間(月間80時間)ってそれなりに根拠があるんだなー、と思いました。
それではまた。
タイマムシンのオススメ本はこちら