Невозможно загрузить изображения с помощью Excel

#excel #vba

#excel #vba

Вопрос:

Я использовал этот код для загрузки изображений с помощью Excel и переименования файлов, но внезапно размер загруженного файла составляет 1,47 КБ, и файл не читается.

Можете ли вы помочь, где я ошибаюсь.

Любая помощь будет оценена.

 Option Explicit

Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" (ByVal pCaller As Long, _
ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Dim Ret As Long

Sub Sample()
    Dim FolderName As String
    Dim ws As Worksheet
    Dim LastRow As Long, i As Long
    Dim strPath As String
FolderName = Range("$B$2").Value
    Set ws = Sheets("Sheet1")

    LastRow = ws.Range("A" amp; Rows.Count).End(xlUp).Row

    For i = 4 To LastRow
        strPath = FolderName amp; ws.Range("A" amp; i).Value amp; ".jpg"

        Ret = URLDownloadToFile(0, ws.Range("B" amp; i).Value, strPath, 0, 0)

        If Ret = 0 Then
            ws.Range("C" amp; i).Value = "Downloaded"
        Else
            ws.Range("C" amp; i).Value = "Error"
        End If
    Next i
End Sub  
 

Комментарии:

1. Пожалуйста, не включайте ссылки на свой Google Диск в свой вопрос.

Ответ №1:

Я нашел ответ на другом сайте: попробуйте изучить загруженный файл с помощью какого-либо текстового редактора, например, блокнота. Возможно, вместо файла JPG вы увидите в «filename.jpg » текст или HTML-код, содержащий какое-либо сообщение об ошибке!, возможно, связанный с элементами безопасности (в моем случае Google запрашивал логин в Google для загрузки файла). Возможно, файл не является общедоступным, и вы не можете загрузить его с помощью своего кода, потому что Google ожидает ввода пароля.