• 締切済み

エクセルでWebのデータを取得したい

Excel2003を使ってWebのデータを取得したいのですがどのようにすればよいのでしょうか? 例えば goo のトップページ(http://www.goo.ne.jp/) 、ログインすると 「ようこそ○○さんへ」と表示されますがその文字列を取得したいのです。 WebBrowserコントロールを追加しモジュールから制御できないかとやってみたのですが WebBrowser1.Navigate ("http://www.goo.ne.jp/") で「オートメーションエラーです。エラーを特定できません。」と出てしまい先へ進めずにいます。。。

みんなの回答

回答No.2

質問と#1への方の回答の補足とが逆の内容になっていますが、 1)ExcelのデータをWebに貼り付けて検索作業等をする。 2)Webのデータを取得してExcelに貼り付ける。 1)ならばVBAでは無理でしょう。

  • fukuchan7
  • ベストアンサー率51% (156/302)
回答No.1

取得「ようこそ○○さんへ」と表示されますがその文字列をドラックしコピー→エクセルの「編集」→形式を選択して貼り付け→「テキスト」または「Unicodoテキスト」を選択→OK 以上です。

abiabiabi
質問者

お礼

回答頂きありがとうございます。 コピー&ペーストではなくエクセル側に作った関数から取得したいのです。 質問の仕方が悪くてすみません...

abiabiabi
質問者

補足

質問の例が悪くて申し訳ありません。 とりあえずエクセルからブラウザの制御ができればと文字列取得を例に挙げたのですが実際は下記の処理を繰り返し自動で行いたいのです。 セルのデータをブラウザに貼り付け→検索ボタンをクリック→結果をセルにセット

関連するQ&A

  • VB.net で Webbrowserコントロールで表示しているテキスト全体を取得したい

    VB.net で Webbrowserコントロールで特定のURLを読み込んでいます。 表示されているのはHTMLタグも含まずXMLでもなく ただの文字列です。 この文字列全体を取得するにはどうすればよろしいでしょうか?

  • URL名を取得するには?

    アクセスのフォームに Web Browserを設置して、 Me.WebBrowser1.Navigate "http://www.yahoo.co.jp/" としました。 その時、サイト名(名前)を、タブに表示したいのですが、まず名前の取得ができません。 http://www.yahoo.co.jp/の名前は「Yahoo! JAPAN」です。 Sub a() Debug.Print Form_フォーム1.WebBrowser1.Navigate.Name Debug.Print Form_フォーム1.WebBrowser1.url.Name End Sub どちらもエラーになってしまいます。 ご教授よろしくお願いします。

  • WebBrowserコントロールがおかしい

    アクセスなのですが、 Sub test() DoCmd.OpenForm "FWebBrowser", acNormal Forms("FWebBrowser").WebBrowser0.Navigate "http://www.yahoo.co.jp/" End Sub を標準モジュールからすると 実行時エラー -2146500594 'item' メソッドは失敗しました'Forms'オブジェクト が発生します。 WebBrowserコントロールは参照設定は要らないですよね? どちらにしろ参照不可になってるものはありません。 アクセスのバージョンは2010です。

  • ExcelのUserForm,Txtデータを列取得

    Txtファイルにあるデータがコンマで区切られています。並びをAからJとします。Aの前には日付が入っています。複数のテキストファイルを持ちいります。 ExcelのUserFormを使い、テキスト(拡張子Txt)のデータを列ごと取得しようと思っております。たとえば図のようにBのチェックボックスにチェックを入れ、ExecuteButton1を押すと「-509999.9987」データと日付のみ、新しいExcelファイルにデータを入れるという方法です。 並びとしましてUserForm1の中にPage1がありその中にFrame1が入って、Checkboxがあります。 Executeボタンを押したら、下記のような流れになればいいです。 テキストオープン>新規のExcelシートを作成する>選択したタグを列で取得する>新規のExcelシートに取得したデータを詰めて張り付ける(その時日付とデータを張り付ける)。 たとえばチックボックス1と4にチェックが入っていたとします。コンマの間と間のデータを取得しようとすると、1列目のデータは日付なので、2列目と5列目を取得したいと思いますがうまくいきません。  チェックボックスの1番目にレ点があると下記のようになります。 If Me.Controls("CheckBox1").Value = True Then If Me.Controls("CheckBox2").Value = True Then If Me.Controls("CheckBox3").Value = True Then して行くと、200以上のチェックボックスがある場合それを200以上作らないといけません。 また、下記のようにすると。 ....................... For i = 1 To 200 If Me.Controls("CheckBox" & i).Value = True Then ~~~~~~~~~ else ~~~~~~~~~ next i .......................... たとえば1と4列目が正(True)の場合であっても、テキストの中身のデータを的確に2列目と5列目を取得するのが難しいです。 どなたか簡単にできる方法を教えていただけますでしょうか。どうぞよろしくお願いいたします。

  • htmlから特定の文字を取得するには

    VB2005初心者です webbrowserコントロールで表示させたwebページのソースの中にある 特定の文字を取得したいんですけど 例えば <a href="http://〇〇〇〇〇〇〇〇〇〇/〇〇/〇〇/△△△△△△△">△△△△△△△</a> <a href="http://〇〇〇〇〇〇〇〇〇〇/〇〇/〇〇/□□□□□□□">□□□□□□□</a> というhtmlの中から △の文字列と□の文字列だけテキストボックスに表示をさせたいのですが どうすればよいのでしょうか? △はTextBox1 □はTextBox2 の様な感じにしたいです 正規表現やInStr関数など試してみたのですがうまくいきません どなたかご教授お願いしたします ソースなど記述して頂けると助かります

  • C# Webブラウザコントロールの質問

    C# Webブラウザコントロールで現在表示されてるURLを読み取って 表示を変えようと試みていますが上手くいきません。 string strURL = webBrowser1.Url.ToString(); if (strURL == "http://google.com"); { webBrowser1.Navigate("http://yahoo.co.jp"); } 上記だと現在がグーグルならヤフーに切り替えという 例ですが処理されません。 2行目の「;」を入れると「emptyステートメントが間違っている 可能性があります」と警告も出ています。 「;」を省くと警告もエラーも出ませんが、処理も上手くいきません。 色々試しましたが暗礁に乗り上げている状態です。 是非、お知恵を貸してください。

  • エクセルでwebbrowserコントロールを利用したい

    的外れな部分がありましたら、その点でもご指摘くださいますようお願いいたします。 利用しているのはExcel2000です。 エクセルのツールの「コントロール/ツールボックス」にWebbrowserコントロールが見当たりません。 『VBE画面から「ツール」」メニュー→「その他のコントロール」にて設定する』旨の記述をネット上で見つけました。 「VBE画面」はVBAのエディット画面であると認識し、当行程を行おうとしたところ、「その他のコントロール」メニューがDisableになっていました。 そこでその上の参照設定メニュにあたってみましたが、該当するものを特定できませんでした。 Webbrowserコントロールはどのようにすれば利用できるのでしょうか? よろしくお願いいたします。

  • WebBrowserコントロールでExplorerのようなものを作りたいのですが困っています

    VB.NET2008にて、開発中です。 WebBrowserコントロールを使用してExplorerを作っているのですが、たとえば WebBrowser1.Navigate("C:\Users\" + Environment.UserName + "\Desktop") とすることによってコントロール上にデスクトップにあるファイルが表示されますよね? そこで、表示されたファイルのうち1つをを選択し、そのファイル(もしくはディレクトリ)のフルネームを取得したいのですが、どうもやり方がわかりません。 どなたかこの方法を知っている方、いらっしゃいませんでしょうか?

  • ExcelUserForm,Txtデータを列取得

    Txtファイルにあるデータがコンマで区切られています。並びをAからJとします。Aの前には日付が入っています。複数のテキストファイルを持ちいります。 ExcelのUserFormを使い、テキスト(拡張子Txt)のデータを列ごと取得しようと思っております。たとえば図のようにBのチェックボックスにチェックを入れ、ExecuteButton1を押すと「-509999.9987」データと日付のみ、新しいExcelファイルにデータを入れるという方法です。 並びとしましてUserForm1の中にPage1がありその中にFrame1が入って、Checkboxがあります。 テキストオープン>新規のExcelシートを作成する>選択したタグを列で取得する>新規のExcelシートに取得したデータを詰めて張り付ける(その時日付とデータを張り付ける)。 たとえばチックボックス1と4にチェックが入っていたとします。コンマの間と間のデータを取得しようとすると、1列目のデータは日付なので、2列目と5列目を取得したいと思いますがうまくいきません。  チェックボックスの1番目にレ点があると下記のようになります。 If Me.Controls("CheckBox1").Value = True Then If Me.Controls("CheckBox2").Value = True Then If Me.Controls("CheckBox3").Value = True Then して行くと、200以上のチェックボックスがある場合それを200以上作らないといけません。 また、下記のようにすると。 ....................... For i = 1 To 200 If Me.Controls("CheckBox" & i).Value = True Then ~~~~~~~~~ else ~~~~~~~~~ next i .......................... たとえば1と4列目が正(True)の場合であっても、テキストの中身のデータを的確に2列目と5列目を取得するのが難しいです。 どなたか簡単にできる方法を教えていただけますでしょうか。どうぞよろしくお願いいたします。

  • ExcelにWebBrowserコントロールを貼り付けるとシート切り替えで落ちる

    いつもお世話になっています。 さて、タイトルどおりなのですが、エクセルのシート1にWebBrowserコントロールを貼り付け、 シート1のマクロに Private Sub Worksheet_Activate()  WebBrowser1.Navigate "http://www.yahoo.co.jp/" End Sub と貼り付けます。 そしていったん保存して終了後、マクロを有効にしてファイルを開き、シート1←→シート2の作業を何度か行うと、 「問題が発生したため、Microsoft Excel を終了します。 ご不便をおかけして申し訳ありません。」 のダイアログとともにエクセルがエラー終了してしまいます。 これはエクセルの不具合(IEコンポーネントの不具合)で解決策はないのでしょうか? どなたか解決方法をご存知の方、お知恵をお貸しください。 OSはXP、オフィスは2002SP3を使用しています。

専門家に質問してみよう