vExcelのVBAで ホームページのソースコード一部分をぬきたいのですが、わかるかたおしえてください。
http://onlinestore.barneys.co.jp/html/item/001/0 …
こちらのサイトのZOOMUPした時の画像のURLを取得したいのです。
A列には、URL でB列にはその画像URLを自動で取得というかんじです。
わかるかた教えていただけないでしょうか。
No.1
- 回答日時:
↑
このサイトのほぼ丸写しですが
Sub ie_Link_TEST()
'1.調査したいURLをInputBoxで受け取ります(かなり手抜き・・・)
Dim strURL As String '入力値を受け取る変数
'INPUTBOXでURLをもらう
strURL = InputBox("調査するURLは?", "URL入力", "http://www.ken3.org/backno/backno_vba_mokuji.htm …
If strURL = "" Then
MsgBox "調査したいURLを指定してください"
Exit Sub '途中で抜ける
End If
'2.IEを起動させ、目的のページを表示させます。
Dim objIE As Object 'IEオブジェクト参照用
'IEを起動する
Set objIE = CreateObject("InternetExplorer.application") 'IEのオブジェクトを作る
objIE.Visible = True '見えるようにする(お約束)
'.Navigate で 指定したURLを開く
objIE.Navigate strURL
'表示完了を待つ
While objIE.ReadyState <> 4
While objIE.Busy = True
DoEvents '特に何もしないで.Busyの状態が変わるまで待つ
Wend
Wend
'3.目的のページからリンク先を取り出し、セルに書き出します。
Dim i As Integer '添え字 i番目などで使用
Dim yLINE As Integer '行カウンタ、Y行目
'html ドキュメント リンク オブジェクトからデータをセルへ転記(代入)する。
Workbooks.Add '新規ブックを追加 データ転送用に新規のブックを追加する
Range("A1") = "調査したURLは " & strURL & " です" 'A1にURLを記述(セット)
Range("D1") = "リンクの数は " & objIE.Document.Links.Length & "です" 'D1にリンクの数をセット
'Range("A2") = ".Href(リンク先)" 'A2~F2 2行目に見出しをセットする
'Range("B2") = ".OuterText"
'Range("C2") = ".OuterHTML"
'Range("D2") = ".InnerText"
'Range("E2") = ".InnerHTML"
'Range("F2") = ".Target"
Columns("A:F").ColumnWidth = 22 '列幅を22に変更
yLINE = 3 'セット開始の行を代入する
For i = 0 To objIE.Document.Links.Length - 1
'データをセルへセットする 'を付けて文字列にする(セルにセットしたいので)
ret = InStr(objIE.Document.Links(i).Href,"jpg") 'リンク先
If ret <> 0 And IsNull(ret) = False Then
Cells(yLINE, "A") = "'" & objIE.Document.Links(i).Href 'リンク先
'Cells(yLINE, "B") = "'" & objIE.Document.Links(i).OuterText '自分を含む テキスト(Innerと変わりない?)
'Cells(yLINE, "C") = "'" & objIE.Document.Links(i).OuterHTML '自分を含む HTML
'Cells(yLINE, "D") = "'" & objIE.Document.Links(i).InnerText '内側のテキスト
'Cells(yLINE, "E") = "'" & objIE.Document.Links(i).InnerHTML '内側のHTML
'Cells(yLINE, "F") = "'" & objIE.Document.Links(i).Target '_Blank や 表示先フレームの名前など
yLINE = yLINE + 1 'セット位置(行)を+1する
End If
Next i
'抜き出し作業が終わったので、通常.QuitでIEを終了させる が 今回は残す
'objIE.Quit
Set objIE = Nothing
MsgBox "処理終了、ブラウザの表示内容 と シートを確認してください"
End Sub
No.2ベストアンサー
- 回答日時:
の方に全く同じご質問が出ておりますが、別の方法で回答いたします。
Sub with_HttpRequest()
Dim objHTTP As Object
Dim i As Long
Dim myHtml As Variant
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
With objHTTP
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
.Open "GET", Range("A" & i).Value, False
.Send
If InStr(.responseText, "previewPath") > 0 Then
myHtml = Split(.responseText, "previewPath")(2)
Range("B1").Offset(i - 1).Value = _
"http://onlinestore.barneys.co.jp" & Split(myHtml, "'")(1)
Else
Range("B1").Offset(i - 1).Value = "無効なURLです"
End If
Next i
End With
Set objHTTP = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- その他(プログラミング・Web制作) JavaScriptのコンソールのショートカットが動きません https://laptopreneu 1 2023/04/25 11:32
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- その他(IT・Webサービス) ロリポップのレンタルサーバーを借りてます。(一般的な安いプラン) 元々はホームページでも作ろうと思っ 1 2023/05/24 19:54
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
エクセル 上下で列幅を変えるには
-
エクセルのマクロで意図しない...
-
アクティブになっている行をマ...
-
excelのデータで色つき行の抽出...
-
Excel 時刻の並び替え
-
Excel グラフのプロットからデ...
-
セルの色によって条件文をつけ...
-
VBAで色の付いているセルの行削除
-
Excelでカタカナ・ひらがな・英...
-
エクセル マクロ オートフィ...
-
Excel VBA アクティブセルから...
-
Excel2007で、指定範囲の行高さ...
-
[EXCEL]ボタン押す→時刻が表に...
-
サイズの違うセル 並べ変え
-
エクセルマクロ オートSUM(合...
-
特定の文字がある行以外を削除...
-
AのセルとB行を比較して、一致...
-
電話番号の入力方式が違うデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報