Hi Varun,
In a standard module
Code:
'// Original code from : http://vba-corner.livejournal.com/3054.html
'reads the value for the registry key i_RegKey
'if the key cannot be found, the return value is ""
Function RegKeyRead(i_RegKey As String) As String
Dim myWS As Object
On Error Resume Next
'access Windows scripting
Set myWS = CreateObject("WScript.Shell")
'read key from registry
RegKeyRead = myWS.RegRead(i_RegKey)
End Function
Function RegKeyExists(i_RegKey As String) As Boolean
Dim myWS As Object
On Error GoTo ErrorHandler
'access Windows scripting
Set myWS = CreateObject("WScript.Shell")
'try to read the registry key
myWS.RegRead i_RegKey
'key was found
RegKeyExists = True
Exit Function
ErrorHandler:
'key was not found
RegKeyExists = False
End Function
'Saving a Registry key:
'sets the registry key i_RegKey to the
'value i_Value with type i_Type
'if i_Type is omitted, the value will be saved as string
'if i_RegKey wasn't found, a new registry key will be created
Sub RegKeySave(i_RegKey As String, i_Value As String, _
Optional i_Type As String = "REG_SZ")
Dim myWS As Object
'access Windows scripting
Set myWS = CreateObject("WScript.Shell")
'write registry key
myWS.RegWrite i_RegKey, i_Value, i_Type
End Sub
'Deleting a key from the Registry:
'deletes i_RegKey from the registry
'returns True if the deletion was successful,
'and False if not (the key couldn't be found)
Function RegKeyDelete(i_RegKey As String) As Boolean
Dim myWS As Object
On Error GoTo ErrorHandler
'access Windows scripting
Set myWS = CreateObject("WScript.Shell")
'delete registry key
myWS.RegDelete i_RegKey
'deletion was successful
RegKeyDelete = True
Exit Function
ErrorHandler:
'deletion wasn't successful
RegKeyDelete = False
End Function
Again in a standard module. (Better to insert new one)
Code:
'HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Options\Spelling\Check"
'0 = disabled
'1 = enabled
Sub DisableSpellCheckRegistryChange()
Dim strRegKey As String
Dim strValue As String
Dim strAnswer As Long
'MS Outlook 2007
strRegKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Options\Spelling\Check"
'check if key exists
If RegKeyExists(strRegKey) = True Then
If RegKeyRead(strRegKey) = 1 Then
RegKeySave strRegKey, 0
End If
Else
MsgBox "Unable to edit the Registry", vbInformation
End If
End Sub
HTH
Bookmarks