六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

用vba代码来宏的安全性为低、中、高、非常高

Admin | 2013-4-7 10:03:23 | ReadNums | 3708 | 标签 香港最快开奖结果2018 | 打印本页
     

  很多时候我们为了方便在office中使用vba代码,而vba代码的使用,如果软件宏的设置比较高,那么是无法运行的,这会导致宏代码失效。

  因此,通常情况下,我们会使用手工的办法来设置宏的安全性,但是,本文,给你介绍的是,使用vba代码来修改宏的安全性为低、中、高、非常高。

  代码由两部分刚才,下面这部分是基础代码。

  Dim Fso, RK1 As String, RK2 As String, RK3 As String, RK4 As String
  Dim KValue1 As Variant, KValue2 As Variant
  Dim VS As String
  On Error Resume Next
  VS = Application.Version
  Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")

  RK1 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & VS & "\Excel\Security\AccessVBOM"
  RK2 = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & VS & "\Excel\Security\Level"
  RK3 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office\" & VS & "\Excel\Security\AccessVBOM"
  RK4 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office\" & VS & "\Excel\Security\Level"

  KValue1 = 2 '1为低级,2为中级,3为高级,4为非常高
  KValue2 = 2

  Call WReg(RK1, KValue1, "REG_DWORD")
  Call WReg(RK2, KValue2, "REG_DWORD")
  Call WReg(RK3, KValue1, "REG_DWORD")
  Call WReg(RK4, KValue2, "REG_DWORD")

  如上的代码,你也可以将其写在一个过程里面,甚至于,你还可以写在打开工作薄就运行的事件里面,就可以起到一打开工作表,安全性就会被上述的代码所修改。

  下面这部分代码,是一个过程代码,是辅助性的代码,但是,必须得使用它。

  Sub WReg(strkey As String, Value As Variant, ValueType As String)
  Dim oWshell
  Set oWshell = CreateObject("WScript.Shell")
  If ValueType = "" Then
    oWshell.RegWrite strkey, Value
  Else
    oWshell.RegWrite strkey, Value, ValueType
  End If
  Set oWshell = Nothing
  End Sub


问题未解决:在线咨询

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日