Registro

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

MAIKA
Senior
Mensajes: 26
Registrado: Mar Sep 03, 2002 6:23 pm

Registro

Mensaje por MAIKA » Lun Ene 26, 2004 12:43 pm

Tengo un documento de Word con un formulario y por código me realiza unos determinados procesos.
Necesito saber si alguien sabe cómo preguntar por código en Word, si existe una clave en el registro :-?

Avatar de Usuario
GonzaloVazquez
Junior
Mensajes: 10
Registrado: Lun Dic 09, 2024 6:10 pm
Contactar:

Re: Registro

Mensaje por GonzaloVazquez » Lun Dic 09, 2024 6:27 pm

En Word (o VBA en general), puedes interactuar con el Registro de Windows utilizando el objeto WScript.Shell de VBScript. Esto permite leer, escribir o verificar la existencia de claves específicas. A continuación, te muestro cómo puedes preguntar si una clave existe en el Registro:

Código VBA para verificar una clave del Registro

Código: Seleccionar todo

Sub VerificarClaveRegistro()
    Dim shell As Object
    Dim clave As String
    Dim valor As Variant
    
    ' Crear el objeto WScript.Shell
    Set shell = CreateObject("WScript.Shell")
    
    ' Ruta de la clave del Registro que quieres verificar
    clave = "HKEY_CURRENT_USER\Software\MiAplicacion\MiClave"
    
    On Error Resume Next ' Ignorar errores para verificar existencia
    valor = shell.RegRead(clave)
    If Err.Number = 0 Then
        MsgBox "La clave existe. Valor: " & valor, vbInformation, "Registro"
    Else
        MsgBox "La clave no existe.", vbExclamation, "Registro"
    End If
    On Error GoTo 0 ' Restaurar manejo de errores
End Sub

Especificar valores concretos de la clave: Si la clave contiene subvalores, debes incluirlos. Ejemplo:

Código: Seleccionar todo

clave = "HKEY_CURRENT_USER\Software\MiAplicacion\MiClave\SubClave"
Leer datos de diferentes tipos: RegRead funciona para valores String, DWORD, Binary, etc.

Responder