Имам нужда от VBA код в Excel, който ще определи размерите на изображенията от дадена уеб връзка. По-долу е кодът, който създадох;
Sub ccheck()
Dim ie As New InternetExplorer
Dim path As String
ie.Visible = True
path = Sheet1.Range("A1").Value
ie.navigate path
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Dim doc As HTMLDocument
Set doc = ie.document
Dim sdd As String
Dim size As String
For i = 1 To 20
sdd = Trim(doc.getElementsByTagName("img")(i).src)
size = Trim(doc.getElementsByTagName("img")(i).Width) + "x" + Trim(doc.getElementsByTagName("img")(i).Height)
Sheet2.Range("A" & i).Value = path
Sheet2.Range("B" & i).Value = sdd
Sheet2.Range("C" & i).Value = size
Next i
End Sub
Но проблемът е, ако атрибутът за височина или ширина не е посочен в изходния код на уеб сайта, скриптът дава стойността му като нула.
Има ли друг начин да получите размери на изображението, освен метода, даден в кода.
Моля, помогнете със същите, каквито съм и аз. Всяка помощ е оценена. Благодаря.
Отговори:
0 за отговор № 1Направили са някои промени в кода.
Sub ccheck()
On Error Resume Next
Dim ie As New InternetExplorer
Dim path As String
ie.Visible = True
path = "http://stackoverflow.com/questions/16268923/image-dimensions"
ie.navigate path
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Dim doc As HTMLDocument
Set doc = ie.document
Dim sdd As String
Dim size As String
Dim imgEle As Object
Set imgEle = doc.getElementsByTagName("img")
Dim i As Object, j As Long
j = 1
For Each i In imgEle
sdd = Trim(i.src)
size = Trim(i.Width) + "x" + Trim(i.Height)
Sheet2.Range("A" & j).Value = path
Sheet2.Range("B" & j).Value = sdd
Sheet2.Range("C" & j).Value = size
j = j + 1
Next
End Sub