パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

Googleの検索結果の総数一覧表を作成する その2(ExcelVBA)

2010-04-23 13:37:04 | ExcelVBA
前回の続きです。
詳しくは、Googleの検索結果の総数一覧表を作成する その1(ExcelVBA)をご覧ください。

それでは、いよいよ、「外部データの取り込み」の「新しいWebクエリ」という機能をつかってみましょう。

この機能は、あとで使い回しますので、マクロの記録で、きちんとコード化しておきましょう。

なお、Excel2003での操作方法となりますのでご了承ください。

まず、別のシートを選択しておきます。
今回は、sheet2 を選択します。
次に、A列1行目を選択しておきます。後の作業が楽になります。

それでは、マクロの記録を始めます。



「ツール」「マクロ」「新しいマクロの記録」とクリックします。





「マクロの記録」ダイアログボックスが表示されます。
マクロ名は、後で変更しますので、何でもかまいません。
ただし、マクロの保存先は、「作業中のブック」にしてください。
「OK」を押します。これで、以降の操作は、すべて記録されます。




ここからが、本番です。
「データ」「外部データの取り込み」「新しいWebクエリ」とクリックします。





「新しいWebクエリ」ダイアログボックスが表示されます。
この中に、どこかのWebサイトが表示されていますね。
どのWebサイトが表示されていてもかまいませんよ。





アドレス欄に、www.google.co.jp と正しく入力して、「移動」ボタンをクリックしてください。
グーグルのサイトが表示されれば、うまくいっていますよ。






Googleの検索窓に、「上田市 ラーメン」と入力して、「Google検索」ボタンをクリックします。






検索結果が表示されるので、サイトの左上の黄色い矢印をクリックします。

黄色い矢印にマウスをあわせると、グレーの枠が表示されます。
この枠の中の情報をエクセルに引っ張ってくることができます。

今回は、検索結果の数字を引っ張って来たいのですが、左上の矢印しか、
検索結果の数字を含まないので、この矢印をクリックしました。

次に、ダイアログボックス下部の「取り込み」ボタンをクリックします。




「データのインポート」画面に切り替わります。
あらかじめA列1行目を選択しておいたので、このまま「OK」ボタンをクリックします。

(この画面で、A列1行目を指定してもかまいません)





Web上のデータが、エクセルに取り込まれます。
今回は、10行目に注目して下さい。
ここに、僕らの目的である検索結果の数字がありますね。
この数字を取り込みたかったのです。(つまり、後のデータは、不要なんですね。)

それでは、ここで、「記録の終了」ボタンをクリックします。(四角いボタンですよ)





Alt + F11 で、Visual Basic Editorに切り替えます。

以下のようなコードが、記述されます。


Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2010/4/23  ユーザー名 : tatsudai
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.google.co.jp/search?hl=ja&source=hp&q=%E4%B8%8A%E7%94%B0%
E5%B8%82%E3%80%80%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3
&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&aqi=g3g-c1g3g-r1&aql=&oq=&gs_rfai="
(紙面の都合上、改行しましたが、実際は1行です)
        , Destination:=Range("A1"))
        .Name = _
        "search?hl=ja&source=hp&q=%E4%B8%8A%(割愛)&oq=&gs_rfai="
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub




一応画像も載せておきます。





今回のコードの中で、赤線を引いた部分が、検索に関する部分です。

この部分を、逐次 別のキーワードに置き換えることができれば、
このマクロ(プロシージャ)は、かなり使い物になります。

その方法は、やがてちゃんと取り上げます。

さて、次回は、その前に、取り込んだデータの中から、
どうやって、検索結果の数字のみを取り出すのか、その方法をご紹介します。

お楽しみに。



だい
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【おすすめ】

パソコン買ったらまず入れる10のアプリ