/ Размери на изображението - excel, vba

Размери на изображението - excel, vba

Имам нужда от 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