#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 ожидает ввода пароля.