Страницы: 1
RSS
VBA. Ошибка. File not found: olepro32.dll
 
Добрый день
Помоги пожалуйста.
Появляется ошибка:
Run-time error '53':
File not found: olepro32.dll
Объявление для win10 x64 и офис 2010 x64:
Код
Private Declare PtrSafe Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As uPicDesc, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
Применение:
Код
r = OleCreatePictureIndirect(uPicInfo, IID_IDispatch, True, IPic)
Далее стоп и ошибка.
В C:\Windows\SysWOW64 olepro32.dll файл есть. В C:\Windows\System32 olepro32.dll файл нет (тоже на 2-х комп.)


Объявление для win7 x64 и офис 2010 x32:
Код
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As uPicDesc, RefIID As GUID, ByVal fPictureOwnsHandle As Long, IPic As IPicture) As Long
Применение:
Код
r = OleCreatePictureIndirect(uPicInfo, IID_IDispatch, True, IPic)
Работает.
 
Цитата
power85 написал:
C:\Windows\System32 olepro32.dll файл нет
64-разрядные .dll должны быть именно в этом каталоге. На моей машине с 64-разрядным MS Office 2016 этой библиотеки тоже нет. Не уверен, что она вообще выпускалась разработчиком в 64-разрядном исполнении.
Владимир
 
Для 64-битной версии используйте:
Код
Private Declare PtrSafe Function OleCreatePictureIndirect Lib "oleaut32.dll" (PicDesc As uPicDesc, RefIID As GUID, ByVal fPictureOwnsHandle As LongPtr, IPic As IPicture) As LongPtr
Изменено: ZVI - 03.09.2019 17:45:58
 
Здравствуйте, Владимир, спасибо за исправление!
Владимир
 
ZVI, спасибо. Заработало. Ещё для переменой "r" поменял объявление на LongPtr, было Long.
Страницы: 1
Наверх