Вставьте этот код в новый модуль в файле Excel и запустите функцию Tester, чтобы протестировать его.
Для тестирования замените URL-адрес в функции Tester на собственный URL для тестирования.
Sub Tester()
MsgBox FileSize("https://www.google.com/images/logo.png")
End Sub
Function FileSize(sURL As String)
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "HEAD", sURL, False
oXHTTP.send
If oXHTTP.Status = 200 Then
FileSize = oXHTTP.getResponseHeader("Content-Length")
Else
FileSize = -1
End If
End Function
После того, как это будет вставлено в модуль в вашем файле Excel, вы можете использовать его через VBA, как показано в функции «Тестер», или использовать его, как показано ниже:
Если столбец A содержитвсе URL-адреса, и вы хотите показать размер файла в столбце B, введите его в ячейку B1 и перетащите его вниз:
=FileSize(A1)
Приведенный выше размер файла будет указан в байтах.Если вы хотите отобразить размер файла в килобайтах, округленный до 2 десятичных знаков, и рядом с номером отображается «КБ», вы можете обновить следующую строку кода:
FileSize = oXHTTP.getResponseHeader("Content-Length")
до новой, приведенной ниже:
FileSize = CStr(Round(oXHTTP.getResponseHeader("Content-Length") / 1024, 2)) + " KB"