(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。エクセルVBAでIEスクレイピングをするときに便利なクラスの作り方をお伝えしております。エクセルVBAでIEを操作するクラスに読み込み待ちとドキュメント取得の機能を追加する方法エクセルVBAでIEを操作する便利なクラスの作り方をお伝えしています。今回は、エクセルVBAでIEを操作するクラスに読み込み待ちをするメソッドと、ドキュメント取得をするプロパティと処理を追加します。tonari-it.com2019.04.08IEで開いているページのHTMLドキュメントを読み込み待ち込みで取得する方法をお伝えしました。実際には、そのドキュメントから要素やその内容を取得していくというのが目的になりますね。今回は、その中でもname属性から要素を取得して内容を取り出すプロパティを作っていいます。いうことで、エクセルVBAでIEを操作するクラスにname属性で取得した要素から内容を取り出すプロパティの作り方です。前回のおさらいname属性で要素を取得して、その要素のcontent属性を返すプロパティgetElementsByNameメソッドでname属性でHTML要素を取得contentプロパティでcontent属性の値を取得IEを操作してディスクリプションとキーワードを取得するまとめ連載目次:エクセルVBAでIEを操作するクラスを作る前回のおさらいまず、前回のおさらいからです。IEを操作するクラスIEObjectの内容はこちらです。SubNavigateメソッドがIEでWebページを開く処理ですが、そこにHTMLドキュメントの取得やら、読み込み待ちやらの処理を入れてますね。Subですから、標準モジュールではNavigateメソッドを一発入れるだけで、アクセスと読み込み待ちとドキュメントの取得をまとめてやってくれちゃうわけです。クラス...いいですね!name属性で要素を取得して、その要素のcontent属性を返すプロパティでは、具体的に要素を取得していきます。Webページのmetaタグから任意のページの情報を取得するプロパティを作ってみましょう。metaタグはWebページのHeadタグ内にあって、ディスクリプションとか、キーワードとかが設定されています。同じmetaタグなのですが、name属性などの属性で役割が異なります。その内容はcontent属性に含まれています。そこで、こういうプロパティはどうでしょう?name属性で要素を取得して、その要素のcontent属性を返すプロパティです。Getプロシージャで作りました。getElementsByNameメソッドでname属性でHTML要素を取得まず、HTMLドキュメントからname属性でHTML要素を取得するのが、getElementsByNameメソッドです。GetプロシージャContentByNameに渡されたパラメータnameAttrがname属性を表します。getElementsByNameメソッドはコレクションを返すので、インデックス0を指定して最初の要素を指定しています。今回欲しいディスクリプションとか、キーワードとかは、おそらく同じname属性を持つ要素はないだろうし、あったとしても先に欲しいものが記述されている...と踏んでいます(ダメなときがあったらごめんなさい)。contentプロパティでcontent属性の値を取得それで、目的の要素にたどりつきますので、contentプロパティでcontent属性の値を取り出します。HTMLMetaElementオブジェクト.contentIEを操作してディスクリプションとキーワードを取得するでは、動作を確認してみましょう。Sub実行すると、以下のようにディスクリプションとキーワードが出力されます。まとめ以上、エクセルVBAでIEを操作するクラスにname属性で取得した要素から内容を取り出すプロパティの作り方をお伝えしました。引数を渡していろいろな要素から取得できるように汎用的に作っておくと便利ですよね。次回は別の要素の取得をするメンバーを作っていきます。エクセルVBAでIEを操作するクラスにリンクテキストでa要素を探してリンクする方法エクセルVBAでIEスクレイピングをするときに便利なクラスの作り方をお伝えしております。今回は、エクセルVBAでIEを操作するクラスに、リンクテキストでa要素を探して取得するメソッドを追加していきます。tonari-it.com2019.04.11どうぞお楽しみに!連載目次:エクセルVBAでIEを操作するクラスを作るエクセルVBAでInternetExplorerを操作してWebスクレイピング、まだまだ現役で必要となる現場もあるでしょう。このシリーズでは、IEを使ったスクレイピングをするときに便利なクラスの作り方をお伝えします。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。表計算ソフトの代名詞であるExcel。初心者でも簡単に作業を効率化できるクイックアクセスツールバーの使い方と便利機能についてご紹介します。【エクセルVBA】VBEのツールバーを自分好みにカスタマイズする方法VBEにあるユーザー設定で、ユーザー好みのツールバーを作成する方法をご紹介しています。コメントアウトやコンパイルなど、よく使うコマンドをツールバーにセットして画面に表示しておけば、すぐに使えて便利ですよ。コマンドのショートカットキーを忘れてしまった!なんていうときも、ツールバーにセットしておけば安心です。VBA】メール本文から欲しい情報だけを取り出す方法MailItemオブジェクトのBodyプロパティとMid関数を使って、Outlookのメール本文から欲しい情報だけを取り出す方法をご紹介しています。VBAで、今開いているメールにワンクリックで定型文の返信メールを送信する方法をご紹介しています。特別な文章を書くまでもない、でも返信しないのは...という場合に、「了解しました。」などの定型文を送信できるようにしておけば、ワンクリックで返信できますよ。【エクセルVBA】ウォッチ式にDir関数を入力したがためにドハマりした話ExcelVBAのコーディングで大活躍のウォッチ式と、フォルダ操作処理で頻繁に登場するDir関数の使い方を誤った私の失敗談です。安易にウォッチ式やイミディエイトウインドウに関数を入力したことで、まさかこんなことになるとは...私の見た痛い目が、皆様の糧になれば幸いです。「初心者でもわかるエクセルVBAのクラスモジュール」について連載でお送りしております。Letプロシージャを使ってプロパティ設定をする方法をお伝えします。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。