powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel не удается скачать файл с интернета
9 сообщений из 34, страница 2 из 2
VBA Excel не удается скачать файл с интернета
    #39499258
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidyBobax012,

Попробуйте так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Option Explicit

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

Sub SaveFileFromInternet(FromURL As String, ToPathName As String)

Dim Res As LongPtr

Res = URLDownloadToFile(0, FromURL, ToPathName, 0, 0)
If Res = 0 Then
    MsgBox "Ok!"
Else
    MsgBox "Error: " & Res
End If

End Sub

Sub test()

SaveFileFromInternet "https://yastatic.net/morda-logo/i/citylogos/yndxno2-logo-ru.png", "D:\Test\logo.png"

End Sub



Если не поможет, то возможно, dll зарегистрирована неправильно, а возможно, и есть проблемы с доступом к ресурсу.


Cнова ошибка 2148270088
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499272
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobax012iMrTidyBobax012,

Попробуйте так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Option Explicit

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

Sub SaveFileFromInternet(FromURL As String, ToPathName As String)

Dim Res As LongPtr

Res = URLDownloadToFile(0, FromURL, ToPathName, 0, 0)
If Res = 0 Then
    MsgBox "Ok!"
Else
    MsgBox "Error: " & Res
End If

End Sub

Sub test()

SaveFileFromInternet "https://yastatic.net/morda-logo/i/citylogos/yndxno2-logo-ru.png", "D:\Test\logo.png"

End Sub



Если не поможет, то возможно, dll зарегистрирована неправильно, а возможно, и есть проблемы с доступом к ресурсу.


Cнова ошибка 2148270088

А ссылка открывается вручную, например, через Internet Explorer?

Для проверки зарегистрирована dll запустите Test процедуру:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Option Explicit

Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal _
    lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
  
Function IsDLLAvailable(ByVal DllFilename As String) As Boolean
Dim hModule As Long
  
' attempt to load the module
hModule = LoadLibrary(DllFilename)
If hModule > 32 Then
FreeLibrary (hModule) ' decrement the DLL usage counter
IsDLLAvailable = True
End If
End Function

Sub Test()

MsgBox IsDLLAvailable("urlmon.dll")

End Sub
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499274
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidyBobax012пропущено...



Cнова ошибка 2148270088

А ссылка открывается вручную, например, через Internet Explorer?

Для проверки зарегистрирована dll запустите Test процедуру:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Option Explicit

Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal _
    lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
  
Function IsDLLAvailable(ByVal DllFilename As String) As Boolean
Dim hModule As Long
  
' attempt to load the module
hModule = LoadLibrary(DllFilename)
If hModule > 32 Then
FreeLibrary (hModule) ' decrement the DLL usage counter
IsDLLAvailable = True
End If
End Function

Sub Test()

MsgBox IsDLLAvailable("urlmon.dll")

End Sub



Да, IE открывает ссылку без проблем. Тест выдал сообщение False. Сделал regsvr32 urlmon.dll, снова прогнал тест и снова False.
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499279
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bobax012,

Может это ни как не связано, но вот я оставил открытым браузер с той ссылкой (лого) в IE, запустил макрос и в результате Ok! и файл скачался.
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499283
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bobax012Bobax012,

Может это ни как не связано, но вот я оставил открытым браузер с той ссылкой (лого) в IE, запустил макрос и в результате Ok! и файл скачался.

Браузер закрываю, запускаю мактос, снова не скачивает, сказка))
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499341
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobax012Bobax012Bobax012,

Может это ни как не связано, но вот я оставил открытым браузер с той ссылкой (лого) в IE, запустил макрос и в результате Ok! и файл скачался.

Браузер закрываю, запускаю мактос, снова не скачивает, сказка))

Командная консоль открыта от имени администратора при регистрации dll?

Протестируйте код с отключенным файерволом и антивирусом.
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499346
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidyBobax012пропущено...


Браузер закрываю, запускаю мактос, снова не скачивает, сказка))

Командная консоль открыта от имени администратора при регистрации dll?

Протестируйте код с отключенным файерволом и антивирусом.

Да, от имени админа, пробовал и с папки SysWOW64 и System32 запускать консоль и регистрировать, все успешно, но в программе процедура выдает false. Антивирус отключал, фаервола нет.
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39499349
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobax012iMrTidyпропущено...


Командная консоль открыта от имени администратора при регистрации dll?

Протестируйте код с отключенным файерволом и антивирусом.

Да, от имени админа, пробовал и с папки SysWOW64 и System32 запускать консоль и регистрировать, все успешно, но в программе процедура выдает false. Антивирус отключал, фаервола нет.

Какая версия IE установлена? Если не самая свежая версия, то попробуйте обновить.
Еще можно попробовать запустить процедуру проверки системных файлов .
Еще можно попробовать CleanBoot .
Windows 10? Установить все доступные патчи.
...
Рейтинг: 0 / 0
VBA Excel не удается скачать файл с интернета
    #39501042
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iMrTidyBobax012пропущено...


Да, от имени админа, пробовал и с папки SysWOW64 и System32 запускать консоль и регистрировать, все успешно, но в программе процедура выдает false. Антивирус отключал, фаервола нет.

Какая версия IE установлена? Если не самая свежая версия, то попробуйте обновить.
Еще можно попробовать запустить процедуру проверки системных файлов .
Еще можно попробовать CleanBoot .
Windows 10? Установить все доступные патчи.

Была 8 x64. Сегодня установил 10 x64 - все работает. Похоже была проблема системы.
Спасибо всем, кто помогал.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel не удается скачать файл с интернета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]