AW: Wenn du den Dialog über
09.03.2009 21:44:45
Nepumuk
Hallo Renée,
das ist doch ganz einfach:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************
Option Explicit
Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias "ChooseColorA" ( _
ByRef pChoosecolor As CHOOSECOLOR) As Long
Private Type CHOOSECOLOR
lStructSize As Long
hwndOwner As Long
hInstance As Long
rgbResult As Long
lpCustColors As Long
flags As Long
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Const CC_RGBINIT = &H1
Private Const CC_FULLOPEN = &H2
Private Const CC_PREVENTFULLOPEN = &H4
Private Const CC_SHOWHELP = &H8
Private Const CC_ENABLEHOOK = &H10
Private Const CC_ENABLETEMPLATE = &H20
Private Const CC_ENABLETEMPLATEHANDLE = &H40
Private Const CC_SOLIDCOLOR = &H80
Private Const CC_ANYCOLOR = &H100
Public Sub Beispiel()
Dim udtColor As CHOOSECOLOR
Dim lngUserColor(16) As Long
'Benutzerdefinierte Farben
lngUserColor(0) = RGB(255, 0, 0)
lngUserColor(1) = RGB(125, 125, 125)
lngUserColor(2) = RGB(90, 90, 90)
With udtColor
.lStructSize = Len(udtColor)
.hwndOwner = Application.Hwnd
.hInstance = 0
.rgbResult = RGB(255, 0, 0)
.lpCustColors = VarPtr(lngUserColor(0))
.flags = CC_RGBINIT Or CC_ANYCOLOR Or CC_FULLOPEN Or CC_PREVENTFULLOPEN
End With
If CHOOSECOLOR(udtColor) <> 0 Then
If TypeOf Selection Is Range Then Selection.Interior.Color = udtColor.rgbResult
Else
' MsgBox "Abbrechen gedrückt"
End If
End Sub
Gruß
Nepumuk