ぼちぼち書くブログ

日記とかうまいもんとかパソコンのことをマイペースで記します。高知市に住んでいるので地元の情報も投稿します。

Excel VBAでIEを思いのままに操作できるプログラミング術~Web情報収集の学習開始

知人から、「Webサイトの情報を自動的にExcelに取り込むことが出来るって聞いたけど難しい?」という相談を受けました。

当該サイトを見せてもらったところ、Javascript多用のHTTPリクエストで表示される構造になっており、固有のURLをもった静的なページではないので、Webクエリで取得する方法では無理だなぁと思ったのですが、Internet Explorer制御なら出来そうなので調べて試してみる事にしました。

ネットで調べて予備知識は得たので、手っ取り早く高知市(高知県)の図書館で借りることにしました。高知市立図書館は県立図書館と連携してくれるので、検索画面で検索して予約をいれておけば、最寄り(指定)の図書館で受け取ることが出来ます。嬉しいことに月曜日が休館で土日は開館してくれているので受け取りも返却も可能です。市立図書館は便利なので読みたい本があれば利用しない手は無いです。

高知市民図書館ホームページ

借りてきた本は二冊

ビジネス極意シリーズ エクセルで極める 仕事に役立つウェブデータの自動取り込みと活用 アスキー書籍

ビジネス極意シリーズ エクセルで極める 仕事に役立つウェブデータの自動取り込みと活用 アスキー書籍

 

仕事に役立つウェブデータ~の方は、ExcelでWebサイトから情報を収集する概念から概要を学ぶことが出来る入門書的な位置づけの書籍です。Webクエリを使ったことが無い人はこの本で学習を始めると、Excelってこんなことが出来たんだ!と気づくことが出来ると思います。Webページからコピペしていた人は「Webクエリ」から学習しましょう。非常に手っ取り早く取り込めます。

もちろん定期的に取り込みをしているのであれば、VBAを使ったマクロ化まで頑張れば、日々の面倒くさい繰り返し業務をほぼ自動化出来ます。

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

 

Excel VBAでIEを思いのままに~の方は、Internet Explorer制御に特化しているので、より複雑なサイト構造を持つWebページから情報を収集する術が解説されています。もちろんこれ一冊でOKというわけには行きませんが、とっかかりからそこそこのレベルの仕組みを自動化する為の知識が得られると思います。

私は、仕事に役立つウェブデータ~の方は読み物として利用し、実際に手を動かすのはExcel VBAでIEを思いのままに~の方に向けました。その方が近道だという事は現在の課題としているWebサイトの構造からわかっており、IE制御でほぼ実現出来るだろうと絞り込みができているからです。

Excel VBAでIEを思いのままに操作出来るプログラミング術

この書籍は比較的評判が良い書籍だとリサーチ済みです。サンプルをダウンロードして動きを試せるのも理由の一つです。まずは動きを見て中身(VBAスクリプト)の理解を深めていくことで、カスタマイズのスキルや応用が身につくと思います。

しかし、初版発行が2013年4月という事もあり、現時点、書籍に記載されているURLからダウンロードが出来ません。書籍には「サンプルダウンロードURL」が「http://impressjapan.jp/books/3384_4」と記されているのですが、アクセスするとリダイレクトされた上に404エラーです。

仕方ないので書籍名で検索してみたところ、おそらく有効であろうサイトが見つかりました。

book.impress.co.jp

zip形式でサンプルをゲットです。2016年6月のタイムスタンプでアップデートがかかっているので、まだ当分使える参考書としてオススメ出来そうです。ツタヤ等のWebサービスから情報を取ってくるスクリプトを例にしているので、サービス提供側の仕様変更は避けられません。サンプルをメンテナンス(アップデート)してくれている点、この出版社を評価出来ると思います。

注意しておきたい落とし穴

この辺りの学習をしようと言う人は、Webブラウザを使い分けたり、気に入ったものを使ったりしていると思うので、IEがデフォルトブラウザになっていない人もいると思います。ちなみに私はFirefoxがデフォルトブラウザです。

サンプルの使用例はIEがデフォルトブラウザという前提になっている様なので、学習をスムーズに進める為には、デフォルトブラウザをIEに変更しておく必要があると思います。まぁ説明をしっかり読んでいれば気づくのですが、端折ってまずはサンプルの動きを見たいという人もいると思いますので、思わぬ落とし穴にはまらない様にしましょう。

なお、私のPC環境は、OSはWindows 10 Pro 64bit、Office 2010 32bitです。特にOffice(Excel)は32bit版で無いとマクロ実行時に無用なところで躓くので、必ず32bitを使うことをオススメしておきます。64bit版Officeは学術計算とか恐ろしく膨大なデータを扱わない限り無用だと思っています。

参考情報

なお、インプレスにおいて下記の様な解説も出してくれているので、IE制御に興味はあるけど書籍まで読む気はないという人は参考にすると良いでしょう。さわりだけですが読みながら手を動かすと取っ掛かりは理解出来ると思います。

コードが読みづらいですがページ内を良くチェックすると、テキスト形式でダウンロード出来るリンクがあります。

forest.watch.impress.co.jp

日々の繰り返し作業は退屈だしミスも生じやすいものです。なんとかして楽出来てミスを防止出来ないものか。

この本もVBAを使ってExcelで自動化を実現する際にはお勧めです。

たった1秒で仕事が片づく Excel自動化の教科書

たった1秒で仕事が片づく Excel自動化の教科書