Usar “No volver a mostrar este mensaje” modificando el Registro de Windows desde Excel

En este artículo que les comparto vamos a ver una manera muy simple de modificar el Registro de Windows desde nuestro mismo Excel, guardando una clave que posteriormente la usaremos al abrir de nuevo nuestro un archivo en específico.

Cómo lo hacemos

Tenemos un archivo de Excel que al ser abierto nos muestra un mensaje de ejemplo en un formulario que es llamado mediante el evento Open.

Ver Video Mostrar “No volver a mostrar este mensaje”

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

El formulario incluye un CheckBox con la leyenda “No volver a mostrar este mensaje”. Al marcar el CheckBox y dar Aceptar en el formulario, se ejecuta la función SaveSetting la cual guarda la clave True en el Registro de Windows.

Modificar registro de Windows desde Excel

Figura 1. El usuario decide si el mensaje se vuelve a mostrar al abrir el archivo.

La función SaveSetting guarda las claves en la ruta:

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\

Registros de Windows desde Excel

Figura 2. La funciones SaveSetting y GetSetting usan la misma ruta en el Registro.

Si no marcamos el CheckBox la clave que se guardará será False.

Leer Registro de Windows

El evento Open del archivo primeramente lee el Registro con la función GetSetting para devolver el valor de la clave que se guardó con SaveSetting. Si la clave es True, el formulario inicial ya no se volverá a mostrar.

Macros usadas

En un módulo normal declaramos la constante APPNAME.

Public Const APPNAME = "EXCELeINFO"

En evento Open usa la función GetSetting para leer el Registro.

Private Sub Workbook_Open()
Dim Mensaje As Boolean
'
Mensaje = GetSetting(APPNAME, "Defaults", "chkMensaje", Mensaje)
'
If Mensaje = True Then
    MsgBox "No se mostrará el mensaje"
Else
    frmAviso.Show
End If
'
End Sub

El botón Aceptar del formulario guarda nuestra selección del CheckBox.

Private Sub CommandButton1_Click()
'
SaveSetting APPNAME, "Defaults", "chkMensaje", Me.chkMensaje.Value
Unload Me
'
End Sub

Anexos

:: Descargar el ejemplo Modificar Registro de Windows desde Excel.rar

You may also like...