エクセルは表計算、データ管理を行うことしかできないのかな?

もっと実践的な使い方を知りたいんだけど。

例えばインターネットの情報を抜き取ることはできないかな?

エクセルの面白い使い方を知りたい人に向けてお伝えします。

 

情報収集の方法としてスクレイピングという技術があります。

エクセルVBAを使ってインターネットエクスプローラー(IE)操作できることを知ってもらえたらもっとVBAを学びたくなるはずです。

余計な知識を除いて、手順と知識をシンプルな形で説明していきます。

 

サンプルを用意したので、まずダウンロードして動きを確認する。

※コードを書くことはしなくてもいい状態にしています。

 

まずは「見て・知って」から「学びましょう」。興味がなければ、ソッと画面を閉じればOKです。

 

サンプルのダウンロード

実際の動きを見るのが一番です。

ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。

201_IEでスクレイピング

 

こんな気持ちを持っていると学ぶ価値ありです

インターネットで買い物したり、予約したり、調べたりとしていますが

 

「あ~、毎回同じことばっかりやってる~」

「他の人に調べてもらいたい~」

 

そんなことを思ったことはないですか?

要は「調べるの大変だし、めんどくさい」と思っている状態です。

なので、めんどくさいことはコンピュータに代わりにやってもらいましょう!

 

プログラム動作内容

初期設定

エクセル領域を超えてインターネットの世界に踏み込むので最初に設定が必要です。

楽しい世界に行く事前準備です。

(現実世界のイメージならば、海外旅行で相手国の入国審査を受ける(ビザ申請)ようなもの)

 

「詳細設定」にある2つの項目にチェックを入れるだけです。(エクセルに画面メモがあります)

Microsoft HTML Object Library

Microsoft Internet Controls

 

コード解説

コードをざっくりとイメージ化すると以下のようになります。

エクセルから直接インターネットを見ることができないので「仲介人(InternetExplorerオブジェクト)」に代わりに見てもらう感じです。

200_IEオブジェクトについて

 

——————プログラム構文——————

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行でエクセルからインターネットが開けました!

ここまではおまじないのようなものなので、覚えないとダメということはないです。

コピーして使い回せばいいので、気張らずいきましょう!

 

開くだけだと面白くないので、画面をいじることを見て行きます。