ich möchte gerne unter bestimmten Bedingungen die Hintergrund- und Textfarben in einem Formular per VBA ändern. (Später vllt auch die Farben der Schaltflächen oder Rahmen und Schattierungen.) Da ich mir in einem Design die gewünschten Farben zusammengestellt habe, verwenden ich zum Setzten die Eigenschaften "BackThemeColorIndex" und "ForeThemeColorIndex". Das klappt soweit auch bei "Section"- und "Lable"-Elementen, aber bei der "Textbox" bleibt die Schriftfarbe unverändert. Mache ich was falsche?
Hier mal mein Code:
- Code: Alles auswählen
Dim ctl As Control, intBTC As Integer, intFTC As Integer
'BTCI = BackThemeColorIndex, FTCI =ForeThemeColorIndex
Const intcBTCIrot As Integer = 5 'Akzent 2 = Wert "5"
Const intcBTCIgelb As Integer = 6 'Akzent 3 = Wert "6"
Const intcFTCIweiss As Integer = 1 'Hintergrund 1 = Wert "1"
Const intcFTCIschwarz As Integer = 0 'Text 1 = Wert "0"
Select Case mstrKennung
Case "bearbeiten"
'roter Hintergrund , weiße Schrift
intBTC = intcBTCIrot
intFTC = intcFTCIweiss
Case Else
'gelber Hintergrund , schwarze Schrift
intBTC = intcBTCIgelb
intFTC = intcFTCIschwarz
End Select
Me.Section(acHeader).BackThemeColorIndex = intBTC
Me.Section(acDetail).BackThemeColorIndex = intBTC
Me.txtID.ForeThemeColorIndex = intFTC
For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
ctl.ForeThemeColorIndex = intFTC
End If
Next
Grüße,
Trawideli