エクセルは表計算、データ管理を行うことしかできないのかな?
もっと実践的な使い方を知りたいんだけど。
例えばインターネットの情報を抜き取ることはできないかな?
エクセルの面白い使い方を知りたい人に向けてお伝えします。
情報収集の方法としてスクレイピングという技術があります。
エクセルVBAを使ってインターネットエクスプローラー(IE)操作できることを知ってもらえたらもっとVBAを学びたくなるはずです。
余計な知識を除いて、手順と知識をシンプルな形で説明していきます。
サンプルを用意したので、まずダウンロードして動きを確認する。
※コードを書くことはしなくてもいい状態にしています。
まずは「見て・知って」から「学びましょう」。興味がなければ、ソッと画面を閉じればOKです。
サンプルのダウンロード
実際の動きを見るのが一番です。
ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。
こんな気持ちを持っていると学ぶ価値ありです
インターネットで買い物したり、予約したり、調べたりとしていますが
「あ~、毎回同じことばっかりやってる~」
「他の人に調べてもらいたい~」
そんなことを思ったことはないですか?
要は「調べるの大変だし、めんどくさい」と思っている状態です。
なので、めんどくさいことはコンピュータに代わりにやってもらいましょう!
プログラム動作内容
初期設定
エクセル領域を超えてインターネットの世界に踏み込むので最初に設定が必要です。
楽しい世界に行く事前準備です。
(現実世界のイメージならば、海外旅行で相手国の入国審査を受ける(ビザ申請)ようなもの)
「詳細設定」にある2つの項目にチェックを入れるだけです。(エクセルに画面メモがあります)
・Microsoft HTML Object Library
・Microsoft Internet Controls
コード解説
コードをざっくりとイメージ化すると以下のようになります。
エクセルから直接インターネットを見ることができないので「仲介人(InternetExplorerオブジェクト)」に代わりに見てもらう感じです。
——————プログラム構文——————
Dim ObjIe As InternetExplorer —①
Set ObjIe = CreateObject(“Internetexplorer.Application”) —②
ObjIe.Visible = True —③
ObjIe.navigate “https://www.yahoo.co.jp/” —④
—————————————————-—-
①インターネット世界とエクセル世界の橋渡しとして「InternetExplorer」のオブジェクトを作ります。
オブジェクト名:ObjIe
Dim ObjIe As InternetExplorer
②オブジェクトを作ったら、実際に動かすInternetExplorerを作成します。
Set ObjIe = CreateObject(“Internetexplorer.Application”)
③画面上に見えるように設定します。
プロパティ:.Visible
ObjIe.Visible = True
※ここまでの設定で人間がインターネットエクスプローラをダブルクリックして開いた状態になります。
という事は、あとはどのページを見るか?となります。
④URLを設定します。(ヤフーをトップページにしました)
メソッド:.navigate
ObjIe.navigate “https://www.yahoo.co.jp/”
見たいサイトの場所(URL)を記載します。
プログラムではキッチリとURLを指定してあげないと、うまく表示してくれませんので注意して入力します。
まとめ
初期設定とわずか4行でエクセルからインターネットが開けました!
ここまではおまじないのようなものなので、覚えないとダメということはないです。
コピーして使い回せばいいので、気張らずいきましょう!
開くだけだと面白くないので、画面をいじることを見て行きます。