• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでキーワード検索)

VBAでキーワード検索

shirokuma2014の回答

回答No.2

そこから先はちょっと難しく、Web上にもあまり載っていません。 HTMLの知識とVBAの知識がかなりないと厳しいかと思います。 for each obj in objIE.document.getelementsbytagname("A") obj.click next で全てのAタグをクリックします(この方法ではクリックできないリンクもあります)。 objIE.document.body.innerText でページ内の文字列全てを取得します。 if instr(objIE.document.body.innerText,"○○")>0 then  debug.print objIE.document.body.innerText end if で、文字列に○○があったら、ページ内の文字列全てを取得します。 あとは、HTMLソースを表示して中を解析し、 objIE.document.getelementbyid("").~ objIE.document.getelementsbyname("").~ objIE.document.getelementsbyclassname("").~ などで必要な部品を動かします。 これらを複合的に利用して記述します。

chibibichi
質問者

補足

ご回答ありがとうございます。 確かに難しいですね。組み合わせればできそうではありますが・・・。 検索でもヒントとなるサイトがなかなか見つかりませんでしたし。 だからこのQ&Aで解決できればと思っています。 もし可能でしたら、下記ソースコードに追記いただきますと助かります。 (VBAで検索した場合の例) ’Googleで「VBA」と検索する Sub GoogleSearch() Dim objIE As Object 'IE起動 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True 'Googleに接続 objIE.navigate "http://www.google.co.jp" 'IEを待機 Call IEWait(objIE) '検索窓に「VBA」と入力 objIE.Document.getElementById("q").Value = "VBA" '5秒停止 Call WaitFor(5) '検索ボタンを押す Call IEButtonClick(objIE, "Google 検索") '5秒停止 Call WaitFor(5) 'IE終了 objIE.Quit Set objIE = Nothing End Sub ’ボタンを押す関数 Public Function IEButtonClick(ByRef objIE As Object, buttonValue As String) Dim objInput As Object For Each objInput In objIE.Document.getElementsByTagName("INPUT") If objInput.Value = buttonValue Then objInput.Click Exit For End If Next End Function 'IEを待機する関数 Function IEWait(ByRef objIE As Object) Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop End Function '指定した秒だけ停止する関数 Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function

関連するQ&A

  • vbaを使ってグーグル検索をしたい

    エクセルのマクロを使用して グーグル検索を出来るようにしたいです。 処理としまして、プログラムを起動すると ユーザーフォームが起動して、テキストボックスがあり テキストボックス内に検索したいキーワードを入力して ボタンをクリックしたら IEが起動して自動で検索結果が表示されるようにしたいのですが テキストボックスに入力したキーワードを どうしても反映させることが出来ない状態です。 出来れば、検索結果の一番下のほうに 「他のキーワード」と言うのがありまして ダイエットで検索すると 「他のキーワード」が ダイエット日記 ダイエット方法 食べ合わせダイエット 骨盤ダイエット ダイエット レシピ ダイエット 運動 どうぶつダイエット ダイエット ブログ バナナ ダイエット 炭水化物ダイエット といったキーワードが出てくるのを メモ帳に自動で書き出すようにも出来ればありがたいです。 わかりにくい説明かもしれませんが よろしくお願いいたします。

  • googleのキーワード検索について

    自分のホームページを作り,googleに登録したのですが,一番出てほしいキーワード(2つ)での検索にかかりません.他のキーワードでの検索ならかかるんです. よりによって一番でてほしいキーワードが検索にかかりません. トップのページにそのキーワードが両方ともテキストで入っているのですが,検索にかからないのです.なぜでしょうか? また検索結果の上位に入れるのに一番いい方法はなんですか?

  • google検索でキーワードが本文中に見つからない場合

    google検索をやっていますと、検索された項目のページに飛んだとき、その本文中に検索に使ったキーワードが一つも見つからないことがあります。  検索結果の各件ごとに該当キーワードを含んだ本文の一部らしい文章が現れますが、そのページを開くとそこには対応する文章が全く見つからないし、それだけでなくほかにも検索キーワードが一つも見つからないことがあると言うわけです。たいていは検索結果のページにはいくつかのリンクが貼られていますが、そのリンクの中に隠されているとか言うことでしょうか。  その辺りの仕掛けについてお教えいただきたいと思います。

  • 検索キーワードを増やすには?

    ページを作成したのですが、サーバーにアップしたら検索エンジン には自動的に引っかかるようになるのでしょうか? あとより多くの関連したキーワードに引っかかるようにするには どうしたらいいのでしょうか? メタタグとか言われるものをいじるとかいうことはぼんやりと聞いた ことはあるんですが?

  • 検索キーワードのルール違反?

    gooなどの検索サイト用にサイトに関連ある検索キーワードをページ内に書いたりする件について質問です。 例えば、どこともリンクを貼っていない隠しページに、1ページ丸々に検索用キーワードを書きまくって、壁紙と同じ文字色で見た目には見えないようにします。 唯一、見える文字色で「トップページはこちらからお入りください」とトップへのリンクを貼ったとします。 検索でヒットした方が、「キーワード用のページ」を経由して「本当のトップページ」に入る事はルール違反でしょうか? また、ご自分がそんなページに来た場合、嫌な気分になりますでしょうか?

  • サイト内検索キーワードの取得について

    あるホームページのサイト内検索のキーワードを取得するJavaScriptを組みたいのですが、どうも日本語のキーワードが文字化けしてしまいます。 検索キーワード入力画面の文字コードは「shift_jis」、検索結果ページは、文字コード「UTF-8」です。 たとえば、「質問」とキーワードを入れると、URLのバーには「%8E%BF%96%E2」と表示されます。 この「%8E%BF%96%E2」をデコードして、検索キーワードのデータを取得するJavaScriptはどのように組めばいいでしょうか? ちなみに、現在、前後は省略しますが、以下の通り記述しています。 hensu1に日本語の文字しないキーワードが取得したいのです。 mydecode=QueryParam('Q'); //Qのパラーメタ(検索キーワード)取得 hensu1=unescape(mydecode);

  • Yahooオークションのキーワード検索の履歴が出ません

     Yahooオークションのトップページにある、(商品を検索する細長い枠)にあるカーソルを左クリックして表示される、キーワードの履歴が出なくなりました。今まで出ていたのですが。  ちなみに枠内にキーワード例として(カムイ伝)と入れ検索→検索結果の件数が表示→このページのキーワードの(カムイ伝)の表示を消去→ここを左クリックすると今まで検索したキーワードの履歴が表示されます。今まではトップページから履歴が見れたのですが。 少し不便なのでお願いします。 I・Eのバージョンは7、パソコンはVista Ultimateです。

  • 検索でヒットしたサイトにキーワードが見つからない

     最近ネット検索することが多いのですが、検索キーワードとして入れた用語がヒットしたサイトのページの中のどこにも見つからないことが多くなった気がします。  もちろん、ヒットしたサイトが後で更新されたような場合にそのキーワードが消えてしまう場合はあると思いますが、更新されたと思えない場合にも見つからないことが多いようです。  検索でヒットしたサイトのページの中でどこまでが当該ページとみなされるのかについて教えていただきたいと思います。  とくに、そのページがいくつかにリンクされている場合、そのリンク先まで検索の範囲に入ることがあるのか、また、ページが非常に大きい場合でもそのページ全体が検索対象となるのか、など、疑問がたくさんあります。  また、これはGoogle、Yahooなど、検索エンジンによって違っているのかも教えていただけるとありがたいです。

  • Googleのキーワード検索

    最近Googleでキーワード検索し、「キャッシュ」クリックすると、全て“ページを表示できません”となってしまいます。Yahoo!検索では正常にキーワードのページを表示できるのに、どういうことでしょうか。当方操作に問題があるのか、Googleサイドの問題なのか教えてください。当方操作の問題なら、どうしたら直るのかも教えてください。

  • 特定のキーワードを自動リンクし、関連情報を一覧表示をしたいです

    いつも大変お世話になっております。 皆様にお力を拝借したく、何卒よろしくお願いいたします。 先日も他カテゴリで質問をさせて頂いたのですが、 カテ違いかと思い、削除して再度こちらへ質問させて頂きます。 どうかよろしくお願いいたします。 資料を集約し、検索等も用いて閲覧できるHPを作りたいのですが 機能として、特定のキーワード同士に自動的にリンクを張り、 リンクをクリックすると、同サイト内でそのキーワードを含んだ資料の 検索結果を一覧表示したいと考えています。 例えば「Access」というキーワードに張られたリンクをクリックすると タイトル・本文中に「Access」というキーワードが含まれた 資料の一覧を表示したいのです。 イメージ的に、Wikiのように自動的に張られたキーワードをリンクすると 辞典が表示されるのではなく、そのキーワードに関連する内容を Google検索等をした結果の様に一覧表示したい、と考えています。 また、その特定の特定のキーワード同士に自動的にリンクする際、 PDFファイル内の文章も対象としたいと考えています。 当初はキーワードの自動リンクという事から はてなAPI・PukiWikiが使えたら等考えていたのですが、 私もPHP等の知識がなく何かいい方法はないものか?!と悩んでおります。 そこでまず、 ・上記のような機能を持たせたHPを作成する事は可能でしょうか? ・また、PDF内の文章もキーワードリンクの対象とし、キーワードの  関連情報を一覧表示のようにする方法する何かいい方法はないでしょうか? 皆様お忙しい中、まことに恐れ入りますが 何卒ご教授いただけますよう、よろしくお願い申し上げます。