Добавление PtrSafe к вызову функции vba в стороннюю dll вызывает ошибку в 64-битном Excel

У меня есть проект VBA, который делает 3 вызова в стороннюю dll следующим образом:

Private Declare Function cm_checkprotection Lib "ACPPYRAMID.DLL" Alias "CM_CheckProtection" (ByVal options As Long) As Long
Private Declare Function cm_getextendederror Lib "ACPPYRAMID.DLL" Alias "CM_GetExtendedError" (ByVal ExtErr As Any) As Long
Private Declare Function cm_getproductkeya Lib "ACPPYRAMID.DLL" Alias "CM_GetProductKeyA" (ByVal ProductKey As Any) As Long

Я пытаюсь перенести этот проект в 64-битный Excel, но когда я добавляю «PtrSafe» в объявление, Excel выдает ошибку «Ожидается: выражение», как показано на прикрепленном изображении.

Добавление PtrSafe к вызову функции vba в стороннюю dll вызывает ошибку в 64-битном Excel

Любая идея, как решить эту проблему?

ТИА,

откровенный

Если бы вы набрали PtrSafe Declare в Google, вы бы получили ответ...

Siddharth Rout 22.02.2019 20:45

ИЛИ если бы вы посмотрели на пару строк в своем коде, вы бы получили ответ...Private Declare PtrSafe Function Shellexecute... ;)

Siddharth Rout 22.02.2019 20:46

@SiddharthRout - даже просто поиск VBA PtrSafe возвращает Страница МС в качестве первого результата.

BruceWayne 22.02.2019 20:56

Чтобы ответить на ваш вопрос следующий, это тоже LongPtr, а не PtrLong.

Comintern 22.02.2019 23:58
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
4
4
161
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сместите положение на

Private Declare PtrSafe Function 

Другие вопросы по теме