「metaValueサブルーチン」の詳しい解説については、以下より確認してください。

データ抽出やインターフェースの自動化にしても必ず最初は指定したURLをIEで起動させるところから始まります。 こちらの処理は何度も利用されるプログラムですので、そのような処理をサブルーチン化させると色々なメリットが生まれます。ここでは、そのようなサブルーチン化のメリットも含めて解説しています。

サブルーチンとは

サブルーチンとは、プログラム処理の中で繰り返し利用されるルーチン作業をモジュール化(部品化)してまとめたものになります。また、呼び出す側をメインルーチンと呼ぶのに対して「サブルーチン」と呼ばれます。

メリット

繰り返し利用されるルーチン作業をモジュール化(部品化)することで、同じ処理のプログラムを何度も書く手間が省け、プログラムも全体的に見やすくなります。これによりプログラムソースの可読性や保守性を高く保つことができます。

関連性の高いサブルーチン

Function metaValue(objIE As InternetExplorer, _
                    name As String) As String
                    
    If objIE.document.getElementsByName(name).length <> 0 Then
    
        metaValue = objIE.document.all(name).content
        
    End If

End Function

※ドラッグ(スワイプ)すると全体を確認できます。


こちらは戻り値を返すFunctionステートメントに引数を2つ設定しているmetaValueサブルーチンになります。こちらの構文と引数の内容は以下になります。尚、引数はすべて参照渡しで渡されます。

metaValue("IEオブジェクト","name属性の名前")
構文metaValue(objIE,name)
引数名データ型内容値の事例初期値省略
objIEInternetExplorerInternetExplorerオブジェクトを指定します。objIE,objIE2×
nameStringcontent属性値を取得するname属性の名前を文字列で指定します。"keywords"×

引数objIEは必須項目で、content属性値を抽出するnternetExplorerオブジェクトを指定します。InternetExplorerオブジェクトを引数に設定することで、複数のオブジェクトを処理することができます。次の引数nameも必須項目で、抽出するmeta要素のname属性の名前を設定します。

If objIE.document.getElementsByName(name).length <> 0 Then
    
        metaValue = objIE.document.all(name).content
        
    End If

※ドラッグ(スワイプ)すると全体を確認できます。

まずこちらでは、If~Then~Elseステートメントを利用して指定したname属性が存在するかのチェックを行っています。条件式の「objIE.document.getElementsByName(name).length」が指定したname属性の要素数になります。

1つ1つ説明すると最初にInternetExplorerオブジェクトのdocumentプロパティを利用してHTMLドキュメントのオブジェクト(Documentオブジェクト)を取得します。

次にDocumentオブジェクトのgetElementsByNameメソッドを利用してname属性が引数nameの要素オブジェクトを取得します。そして、要素数を取得するLengthプロパティを利用して、引数nameの要素数を取得します。

条件式は算術演算子で要素数が0以外の場合にIf~Then~Elseステートメント内の処理を実行しますので、要素数が「0」つまり指定したname属性が存在しない場合は処理されません

次に指定したname属性が存在する場合は、「metaValue = objIE.document.all(name).content」を実行します。こちらは、content属性値を取得するcontentプロパティを利用して指定したname属性の要素オブジェクトのcontent属性値を取得します。

そして、取得した値を戻り値metaValue代入演算子で格納したら処理が完了します。

VBAのIE制御についてのQ&A掲示板

↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。

ExcelのVBA初心者入門

↑こちらはVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります。

目次

IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作のVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作のステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。