![]() |
![]() |
|
|||||||
| Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Guest
Posts: n/a
|
Option Compare Text
Option Explicit Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal lhKey As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal lhKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal lhKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Private Const REG_HEX As Long = 4 'Hex Key Private Const HKEY_CURRENT_USER As Long = &H80000001 'Purpose : Enables or disables the macro virus alert by altering the security level in the registry. 'Inputs : lSecurityLevel 1, sets security to "Low" (disable virus alerts) ' 2, sets security to "Medium" ' 3, sets security to "High" Function MacroSecurity2000(lSecurityLevel As Long) As Boolean Dim sData As String, lRet As Long Const csPath = "SoftwareMicrosoftOffice9.0ExcelSecurity", csValue = "Level" If lSecurityLevel <= 3 And lSecurityLevel > 0 Then On Error GoTo ErrFailed RegCreateKey HKEY_CURRENT_USER, csPath, lRet RegSetValueEx lRet, csValue, 0, REG_HEX, lSecurityLevel, 1 '4 RegCloseKey lRet MacroSecurity2000 = True End If Exit Function ErrFailed: MacroSecurity2000 = False End Function 'Purpose : Enables or disables the macro virus alert. 'Inputs : bDisableVirusChecking True, disables macro security protection ' False, enables macro security protection Function MacroSecurity97(bDisableVirusChecking As Boolean) As Boolean Dim lData As Long, lRet As Long Const csPath = "SoftwareMicrosoftOffice8.0ExcelMicrosoft Excel", csValue = "Options6" On Error GoTo ErrFailed If bDisableVirusChecking Then lData = 0 'Disabled Else lData = 8 'Enabled End If RegCreateKey HKEY_CURRENT_USER, csPath, lRet RegSetValueEx lRet, csValue, 0, REG_HEX, lData, 4 RegCloseKey lRet MacroSecurity97 = True Exit Function ErrFailed: MacroSecurity97 = False End Function |
|
|
|
#2 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Auckland, New Zealand
Posts: 4,209
|
The top code applies the the registartion key
for excel97...there is a bit you can set that disables the enable macro prompt. I'm not sure of the bit for XP as I don't use office XP. But the registration path you should be able to get from the Regeditor Try running the 2000 version for XP ?? Note afetr running this you will have to close then reopen excel for it to take effect. Ivan |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|