[综合应用] 如何不通过Excel中的“宏安全性设置”来设置宏安全性?
网站名称: Excel技巧网|Excel 2010新领地
署名作者: xyh9999
版权声明: 版权所有 非作者本人转载须经许可并注明作者和出处
本文来自:
引用作品:
适用版本: 2010 2007 2003以前版本 非office软件
语言环境: 简体中文 (頁麵右上角簡繁轉換)
内容简介:
文章地址: http://www./thread-10800-1-1-0.html
学习方法: 掌握Excel技巧的关键是动手操作|下载≠知识
Q:如何不通过Excel中的“宏安全性设置”来设置宏安全性? A:方法如下
[Excel2003解法] 把以下内容用记事本写在Lqc2003.vbs文件(注意:扩展名必须为.vbs)中,直接双击该文件,对Excel2003来说就没问题了。 注意:ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")中VBA安全级别值对应:低。若为ret=WSH.RegWrite(regStr1, "4", "REG_DWORD")安全级别值对应:非常高。
- Dim WSH
- Set WSH = CreateObject("Wscript.Shell")
- regStr1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & "11.0" & "\Excel\Security\Level"
- regStr2 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & "11.0" & "\Excel\Security\AccessVBOM"
- ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")'VBA安全级别值1-4分别对应:低,中,高,非常高
- ret=WSH.RegWrite(regStr2, "1", "REG_DWORD")
- Set WSH = Nothing
复制公式或代码
[Excel2010解法] 把以下内容用记事本写在Lqc2010.vbs文件(注意:扩展名必须为.vbs)中,直接双击该文件,对Excel2010来说就没问题了。 注意:ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")中VBA安全级别值对应:低。若为ret=WSH.RegWrite(regStr1, "4", "REG_DWORD")安全级别值对应:非常高。
- Dim WSH
- Set WSH = CreateObject("Wscript.Shell")
- regStr1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & 14.0 & "\Excel\Security\VBAWarnings"
- regStr2 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & 14.0 & "\Excel\Security\AccessVBOM"
- ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")'VBA安全级别值1-4分别对应:低,中,高,非常高
- ret=WSH.RegWrite(regStr2, "1", "REG_DWORD")
- Set WSH = Nothing
复制公式或代码
[Excel2007解法] 把以下内容用记事本写在Lqc2007.vbs文件(注意:扩展名必须为.vbs)中,直接双击该文件,对Excel2007来说就没问题了。 注意:ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")中VBA安全级别值对应:低。若为ret=WSH.RegWrite(regStr1, "4", "REG_DWORD")安全级别值对应:非常高。
- Dim WSH
- Set WSH = CreateObject("Wscript.Shell")
- regStr1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & 12.0 & "\Excel\Security\VBAWarnings"
- regStr2 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & 12.0 & "\Excel\Security\AccessVBOM"
- ret=WSH.RegWrite(regStr1, "1", "REG_DWORD")'VBA安全级别值1-4分别对应:低,中,高,非常高
- ret=WSH.RegWrite(regStr2, "1", "REG_DWORD")
- Set WSH = Nothing
复制公式或代码
|
|
|
|
|
|
|
|
    
|
版本号由Application属性代替即可
- Dim WSH
- Set WSH = CreateObject("Wscript.Shell")
- regStr1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\VBAWarnings"
- regStr2 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
- ret = WSH.RegWrite(regStr1, "1", "REG_DWORD") 'VBA安全级别值1-4分别对应:低,中,高,非常高
- ret = WSH.RegWrite(regStr2, "1", "REG_DWORD")
- Set WSH = Nothing
复制公式或代码
|
|
|
|
|
|
|
|

|
版本号由Application属性代替即可Dim WSH Set WSH = CreateObject("Wscript.Shell") regStr1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\VBAWarnings" regStr2 ... amulee 发表于 2010-12-3 10:16 
对于既装了office的03版又装了10或07版的系统中,Application.Version始终只显示当前默认的一个版本值,哈哈。 |
|
|