• 締切済み

ネット上のリンク先URLを取得するには?

いまJRAホームページの競争成績データのページから 掲載されている過去データをすべて、エクセルにおとして 分析しようと思ってますが、下の点でいきずまってます。 どなたか知恵を貸してください。 エクセル2000(OS:XP)で使用中です。 2008年重賞競争のURLは↓ですが http://www.jra.go.jp/datafile/seiseki/replay/2008/jyusyo.html このページ内すべての、レース日付ごとの一番右にある「結果」の リンク先URLをVBAで取得するにはどうしたらいいですか? このページ内の全レース結果を一気にエクセルに落としたいと 思っています。

みんなの回答

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.1

下記のようにすればURLは取得できます。 Sub mLinkGet() Dim strURL as String Dim objIE As Object Dim objL As Object 'IE起動 strURL ="http://www.jra.go.jp/datafile/seiseki/replay/2008/jyusyo.html" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate strURL '起動するまで待機 While objIE.ReadyState <> 4 While objIE.Busy = True DoEvents Wend Wend 'リンク先取得 For Each objL In objIE.Document.Links Debug.Print objL.Href Next objIE.Quit Set objIE = Nothing End Sub

hagehead
質問者

お礼

ありがとうごさいます。 上記コードを実行してみました。 結果としてはイミデエイトに取得できました。

hagehead
質問者

補足

上記コードを実行してイミデエイトに取得できたあとの処理として これをシート1のセルA1以下にコピー貼付けをして、A1~A100に表示されているURLを変数として 以下のコードで各セルのURLごとに、順次レース結果データを別の シートに貼付けしようと思ってますが、書き方がわかりません。 できれば教えて頂けないでしょうか? -------------------- Sub データ読込み() ' Dim i As Range Set i = Range("a" & Range("a" & Rows.Count).End(xlUp).Row).Offset(1) With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://www.jra.go.jp/datafile/seiseki/replay/2008/001.html", Destination _ :=i) .Name = "001_3" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = "20" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub

関連するQ&A