Цветовая палитра не появляется даже после запуска кода в 64-битной Powerpoint VBA - PullRequest
0 голосов
/ 17 апреля 2020

Я использовал код палитры цветов здесь: Показать палитру цветов, которую пользователь может выбрать в VBA powerpoint

Этот код хорошо работает в PowerPoint 32-битной vba. Но это не работает в 64-битной MS365. Я изменил его, используя Ptrsafe, а также изменил несколько long на longptr. Но все же цветовая палитра не появляется, когда я запускаю код.

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 17 апреля 2020

Попробуйте изменить на

Private Declare PtrSafe Function ChooseColor_Dlg Lib "comdlg32.dll" Alias "ChooseColorA" (pcc As CHOOSECOLOR_TYPE) As LongPtr

Private Type CHOOSECOLOR_TYPE
lStructSize As LongPtr
hwndOwner As LongPtr
hInstance As LongPtr
rgbResult As LongPtr
lpCustColors As LongPtr
flags As LongPtr
lCustData As LongPtr
lpfnHook As LongPtr
lpTemplateName As String
End Type

И

Static BDF(16) As LongPtr
...