Pessoal,
Estou desenvolvendo uma aplicação e gostaria de deixa-la bem flexível e que o usuário personalize o Access da forma que mais lhe agrade, uma das coisas que gostaria de fazer é criar um campo na RIBBON para que a pessoa selecione qual é a cor do esquema de cores ele quer usar: (Azul, Preto ou Prata).
Consegui achar o código na internet e vai até um ponto, o problema é que para eu mudar a cor eu preciso fechar a aplicação e se eu fizer isso nas opções do Access ele muda sem precisar fechar a aplicação.
Esse é o código que eu estou usando, alguém saberia como eu faço isso???
Estou desenvolvendo uma aplicação e gostaria de deixa-la bem flexível e que o usuário personalize o Access da forma que mais lhe agrade, uma das coisas que gostaria de fazer é criar um campo na RIBBON para que a pessoa selecione qual é a cor do esquema de cores ele quer usar: (Azul, Preto ou Prata).
Consegui achar o código na internet e vai até um ponto, o problema é que para eu mudar a cor eu preciso fechar a aplicação e se eu fizer isso nas opções do Access ele muda sem precisar fechar a aplicação.
- Código:
'-----------------------------------------------------------------------------
' Utilities from http://blog.nkadesign.com/microsoft-access/
' (c) Renaud Bompuis, 2008
' Licensed under the Creative Commons Attribution License
' http://creativecommons.org/licenses/by/3.0/
' http://creativecommons.org/licenses/by/3.0/legalcode
'
' Free for re-use in any application or tutorial providing clear credit
' is made about the origin of the code and a link to the site above
' is prominently displayed where end-user can access it.
'-----------------------------------------------------------------------------
Option Compare Database
Option Explicit
'-----------------------------------------------------------------------------
' Enums to easily refer to the correct color scheme.
'-----------------------------------------------------------------------------
Public Enum OfficeColorSchemes
InvalidScheme = -1
BlueScheme = 1
SilverScheme = 2
BlackScheme = 3
End Enum
'-----------------------------------------------------------------------------
' Set MS Office to the given Color Scheme.
' Use WarnUser:=false to disable the notification
' The change is not immediate and will only be effective after the
' Application restarts
'-----------------------------------------------------------------------------
Public Sub SetOfficeColorScheme(scheme As OfficeColorSchemes, Optional WarnUser As Boolean = True)
On Error GoTo ErrLbl
If scheme = OfficeColorSchemes.InvalidScheme Then Exit Sub
mod_API_Registry.RegSetValueNum mod_API_Registry.HKEY_CURRENT_USER, "Software\Microsoft\Office\12.0\Common\", "Theme", scheme
If WarnUser Then
MsgBox "The change will take effect the next time" & vbCrLf & "the application is launched.", vbOKOnly + vbInformation, "Changing Theme"
End If
Exit Sub
ErrLbl:
If Err <> 0 Then MsgBox Err.Description & " - " & Erl() & ": " & " (SetOfficeColorScheme)", vbCritical, "Error"
End Sub
Esse é o código que eu estou usando, alguém saberia como eu faço isso???