「ChromeブラウザでVBAのスクレイピングは可能?」「Chromeを使ってVBAのスクレイピングをする方法を知りたい」このような疑問をお持ちではありませんか。
数年前まで、VBAを使ったスクレイピングを実行する際に使用されるブラウザはInternet Explorer(IE)でした。しかし、Microsoftは2022年6月をもってIEのサポートを終了したため、スクレイピングを行うには他のブラウザを使う必要があります。
その有力な選択肢の一つがGoogle Chromeです。しかし、Chromeを使ったスクレイピングに関する情報が少なく、どのようにすれば良いかわからない方も多いでしょう。本記事では、SeleniumライブラリとVBAを組み合わせることで、Chromeブラウザを使ってスクレイピングを実現する手順を詳しく解説します。
VBAとWebスクレイピングについて
Webスクレイピングとは、ウェブサイトから情報を抽出するコンピューター技術を指します。この技術を利用することで、手動でのデータ収集に比べて大幅に時間を節約できるだけでなく、大量のデータを効率的に処理することが可能になります。
VBAとは
VBA(Visual Basic for Applications)は、Microsoft Excel内で使用できるプログラミング言語です。この言語は、Excelの機能を自動化し、カスタマイズするために設計されています。VBAは、Visual Basicというプログラミング言語に基づいており、これを使うことで、単純なタスクの自動化から複雑なデータ処理まで、様々な作業を効率化できます。
例えば、大量のデータを処理して報告書を作成する際、VBAを用いてデータの抽出、整形、分析を自動化し、時間を大幅に節約することが可能です。また、ユーザー定義関数を作成して、特定の計算を簡単に行うこともできます。これらの機能により、Excel VBAは、ビジネスや研究の分野で広く利用されています。
VBAはMicrosoft Officeスイートの各アプリケーション(Word、Access、PowerPointなど)でも利用可能であり、それらのソフトウェアの機能拡張にも使えるプログラミング言語です。
VBAを使ったスクレイピングとは?
VBAを使用したWebスクレイピングには複数のメリットがあります。特に大きなメリットとしては、次の3つが挙げられます。
- 開発環境の構築が不要
- 取得したデータをエクセルシートに直接保存できる
- 直接にエクセルシートでセルを設定できる
このように、VBAを使ったスクレイピングは、データの後処理や整形が容易になり、さらにExcelの便利な機能(ピボットテーブル、グラフ作成、数式計算など)を直接活用できるため、データ分析のプロセスが大幅にスムーズになります。
一方、従来VBAを使ったWebスクレイピングにはInternet Explorer(IE)が一般的に使用されていました。しかしながら、IEのサポート終了に伴い、IEを使ったスクレイピングが出来なくなりました。
この課題を解決するための代替手段として、Seleniumという汎用的なWebブラウザ自動化ツールを使う方法があります。SeleniumはVBAから最新ブラウザ(Chrome、Firefox等)を操作するためのライブラリで、VBAの恩恵を受けつつ最新ブラウザでのスクレイピングが可能になります。また、Webアプリのテストやデバッグにも活用できるため、データ収集以外の用途でも幅広く使えるツールです。
このように、Seleniumを導入することで、IEサポート終了の影響を受けずに、VBAでのWebスクレイピングを継続できます。
ChromeでVBAスクレイピングを可能にするSeleniumとは?
Internet Explorer(IE)のサポート終了後、多くの開発者やデータアナリストは、VBAスクレイピングのための新しい方法を模索しました。その結果、Google Chromeなどのブラウザを使用したVBAスクレイピングに注目が集まりました。
Chromeブラウザでスクレイピングを行うためには、Seleniumというツールを活用する必要があります。Seleniumとは、様々なプログラミング言語から利用可能なWebブラウザの自動化フレームワークです。
具体的には、ブラウザを操作するためのAPIを提供し、WebスクレイピングやWebテストの自動化を可能にします。したがって、SeleniumをVBAと組み合わせることで、ChromeやEdgeなどのブラウザを直接制御できるようになります。
例えば、Webサイトに設置されているボタンのクリックや検索窓への文字入力など、人間が実際にブラウザを操作するような作業の自動化が可能です。これにより、データ収集やテストの効率化が図れるだけでなく、繰り返し行う作業の自動化によって作業の正確性が向上します。
VBAでChromeスクレイピングをする方法
VBAを使用してChromeでスクレイピングを行うには、Seleniumを活用する必要があります。以下は、Seleniumを使ってVBAでChromeスクレイピングを行う基本的な手順です。
ステップ1. Seleniumのダウンロードとインストール、VBAへの参照設定
Seleniumを公式サイトからダウンロードし、インストールします。次に、ExcelのVBAエディターを開き、ツール→参照設定から「Selenium Type Library」を参照設定に追加します。
ステップ2. Chromeのダウンロードとインストール
Chromeがまだインストールされていない場合は、Google Chromeの公式サイトからダウンロードしてインストールします。
ステップ3. Chromeドライバーのダウンロード
使用しているChromeのバージョンに合わせたChromeドライバーをダウンロードします。これは、SeleniumがChromeを操作するために必要なドライバーソフトウェアです。
ステップ4. VBAでのコーディング
ExcelのVBAエディタで新しいモジュールを作成し、以下のようなコードを記述します。
Sub ScrapeWebsite()
Dim driver As New Selenium.ChromeDriver
Dim url As String
url = “https://www.example.com”
driver.Get url
‘ ページの要素を操作する処理…
driver.Quit
End Sub
ステップ5. スクレイピングの実行
VBAマクロを実行し、指定したWebサイトからデータを抽出します。ステップ4のコードにおいて、「ページの要素を操作する処理…」の部分に、実際のスクレイピングのロジックを記述します。
VBAより簡単なスクレイピングツールの紹介
VBAを使用したスクレイピングは、設定がやや複雑であり、プログラミングの知識が必要になるため、エンジニア以外の一般的なビジネスパーソンにとってはハードルが高いと感じられる可能性があります。
そのような方には、VBAよりも簡単に操作できるスクレイピングツールの活用がおすすめです。ここでは、スクレイピングツールとはどのようなものか詳しく解説します。
スクレイピングツールとは
スクレイピングツールとは、Webサイトから情報を自動で抽出するためのソフトウェアのことです。これらのツールは、ユーザーが指定したWebページにアクセスし、ユーザーが求めるデータを自動で収集・保存してくれます。
また、多くのスクレイピングツールでは、優れたGUIを備えており、マウスを使った直感的な操作でスクレイピングが可能です。また、ツールによってはより高度な機能が備わっているため、大規模で複雑なWebサイトの構造にも対応します。
Octoparseの特徴
数あるスクレイピングツールの中でも、操作性と機能の豊富さから特に人気のあるツールが「Octoparse(オクトパス)」です。Octoparseの主な特徴は次のとおりです。
- 直感的なGUI:プログラミングの知識がないユーザーでも簡単に操作できるグラフィカルユーザーインターフェースを提供します。
- 豊富な機能:動的なWebサイトやログインが必要なサイトからのデータ抽出も可能な、スクレイピングに必要な機能が充実しています。
- 豊富なテンプレート:特定のWebサイトからのデータ抽出を簡単に設定できる豊富なテンプレートを提供し、スクレイピングのプロセスを大幅に短縮します。
- データのエクスポート:抽出したデータはExcelやCSVファイルとして簡単にエクスポートでき、データ分析やレポート作成の作業に直接活用できます。
このような特徴から、プログラミングの知識がないユーザーでも、経験豊富なエンジニア並みのスクレイピングを容易に行うことが可能です。特に、Octoparseはクラウドベースのツールのため、環境構築が不要です。

公式サイトから最新版をダウンロードし、アカウントを作成すれば、すぐに利用できます。料金も無料プランから使えるため、手軽にデータ収集をしたい方はぜひお試しください。
まとめ
本記事では、VBAを使用したChromeスクレイピングの方法と、VBAよりも簡単に操作できるスクレイピングツールについて解説しました。VBAとSeleniumを使用する方法は、よりカスタマイズ性が高く、複雑なスクレイピングが可能ですが、設定やコーディングにはある程度の知識が必要です。
一方、Octoparseのようなスクレイピングツールを使用すれば、プログラミングの知識がなくても直感的な操作でデータ抽出が行え、ビジネスパーソンにとっては大きな助けとなります。
どちらの方法を選択するかは、スクレイピングの目的や必要とするデータの複雑さ、そして個々の技術的なスキルレベルによって異なります。目的に合ったツールを選択し、効率的にデータを収集しましょう。
