返回列表 上一主題 發帖

[發問] 請問如何捉取網頁內全部圖片的網止

回復 3# cji3cj6xu6
  1. Option Explicit
  2. Sub 下載網路照片()
  3.     Dim a As Variant, e As Integer, i As Integer, s As Variant, p As Integer
  4.     With CreateObject("Microsoft.XMLHTTP")
  5.         .Open "get", "http://blog.mjjq.com/archives/1975.html", False
  6.        .send
  7.        a = Split(.responseText, vbLf)
  8.     End With
  9.     With ActiveSheet
  10.         .Pictures.Delete
  11.         .Cells.Clear
  12.         i = 1
  13.         For e = 0 To UBound(a)
  14.             If InStr(a(e), "src=""http://") And InStr(a(e), ".jpg"" /><br />") Then
  15.                 s = Split(a(e), "alt=""")(1)
  16.                 s = Split(s, """ width=""")(0)
  17.                 .Cells(i, 1) = s
  18.                 s = Split(a(e), "src=""")(1)
  19.                 s = Split(s, """ /><br />")(0)
  20.                 .Cells(i, 2) = s
  21.                 p = .Pictures.Count
  22.                 .Cells(1 + (p * 20), "H").Select
  23.                 .Pictures.Insert (.Cells(i, 2))
  24.                 i = i + 1
  25.             End If
  26.        Next
  27.     End With
  28. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# wufonna
不了解這錯誤.(2003 正常)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 11# wufonna
2003接受將 .Pictures.Insert (.Cells(i, 2)) 轉成.Cells(i, 2).Value
10# stillfish00 我用2010,要把23行改成  .Pictures.Insert .Cells(i, 2).Value 才能跑
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 14# wufonna
  1. Option Explicit
  2. Sub Ex()
  3.     Dim s As String
  4.     s = """"
  5.     MsgBox s
  6.     s = "A &   ""   &   B"
  7.     MsgBox s
  8.     s = "<meta name=""description"" content=""提供最方便的網站搜尋、即時新聞、生活資訊和Yahoo奇摩服務入口。"">"""
  9.     MsgBox s
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 16# wufonna
請詳看Split 函數vba說明
  1. Split 函數
  2. 傳回一個陳列索引從零開始的一維陣列,它包含指定數目的子字串。
複製代碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim s As Variant, i As Integer
  4.     s = "<meta name=""description"" content=""提供最方便的網站搜尋content=""即時新聞content=""、生活資訊和Yahoo奇摩服務入口。"">"
  5.     s = Split(s, "content=""")
  6.     MsgBox Join(s, vbLf)
  7.     MsgBox UBound(s)           '陣列上限元素索引值
  8.     For i = 0 To UBound(s)
  9.         MsgBox s(i)
  10.     Next
  11. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 18# wufonna
  1. Option Explicit
  2. Sub test()
  3.     Dim a As String, b As String, c As String, d As String
  4.     Dim AR As Variant, i As Integer, S(1 To 2) As Integer
  5.     a = "<img src=""http://l.yimg.com/ud/hp_editor/tw/13/09/12/15/130asf302-190c8a5.jpg"" alt=""Video 圖片"" width=160 height=115><br>"
  6.     b = "<img src=""http://l.yimg.com/ud/hp_editor/tw/13/09/12/15/asf912151302190c8a35.jpg"" ></p>"
  7.     c = "<img src=""http://l.yimg.com/ud/hp_editor/tw/13/09/12/15/130f302-19c8a35.jpg"" alt=""Video 圖片"" height=115><br />"
  8.     d = "<img width=160 height=115 src=http://l.yimg.com/ud/hp_editor/tw/13/09/12/15/13092151302190c8a35.jpg  ></a>"
  9.     AR = Array(a, b, c, d)
  10.     For i = 0 To UBound(AR)
  11.         S(1) = InStr(AR(i), "http://")
  12.         S(2) = InStr(AR(i), "jpg") + 3
  13.         AR(i) = Mid(AR(i), S(1), S(2) - S(1))
  14.     Next
  15.     MsgBox Join(AR, vbLf)
  16. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題