Я пытаюсь адаптировать код в здесь или здесь , чтобы открыть пользовательскую цветовую палитру в 64-разрядной версии Excel 2010, но не могу заставить ее работать. Код на обоих сайтах отлично работает в Excel 2003
Одна попытка
Option Explicit
Private Type CHOOSECOLOR
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As String
flags As Long
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Declare PtrSafe Function ChooseColorAPI Lib "comdlg32.dll" Alias _
"ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
Dim CustomColors() As Byte
Private Sub Command1_Click()
Dim cc As CHOOSECOLOR
Dim Custcolor(16) As Long
Dim lReturn As Long
cc.lStructSize = Len(cc)
cc.hwndOwner = Application.Hwnd
cc.hInstance = 0
cc.lpCustColors = StrConv(CustomColors, vbUnicode)
cc.flags = 0
lReturn = ChooseColorAPI(cc)
If lReturn <> 0 Then
Application.Caption = "RGB Value User Chose: " & Str$(cc.rgbResult)
Application.BackColor = cc.rgbResult ' Visual Basic only ****
Application.Section(0).BackColor = cc.rgbResult ' Access only **********
CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
Else
MsgBox "User chose the Cancel Button"
End If
End Sub
Private Sub Form_Load()
ReDim CustomColors(0 To 16 * 4 - 1) As Byte
Dim i As Integer
For i = LBound(CustomColors) To UBound(CustomColors)
CustomColors(i) = 0
Next i
End Sub
Это работает нормально, но не показывает диалог. Я также попытался изменить некоторые типы LONG на LONGPTR безуспешно. Кто-нибудь знает, как заставить это работать на 64-битной машине; или если это вообще возможно? Возможно, есть новая библиотека?
Спасибо
Редактировать: Небольшое изменение формулировки с предложением щедрости ...
Как получить доступ к этой пользовательской программе выбора цвета (изображение ниже) в 64-разрядной версии Excel 2010 и использовать ее (ДОЛЖНА работать на 64-разрядной!), Чтобы задать ячейки в Excel 2010 с выбранным цветом и сохранить цвет? Изображение взято из Excel 2010 64-bit, выбрав кнопку заливки> больше цветов> Пользовательский
Действительный XHTML http://img851.imageshack.us/img851/2057/unlednvn.png