WScript对象是微软Windows 脚本宿主的根对象(Microsoft Windows Script Host ),WshShell是用于对Windows 内核的访问对象,它是WScript对象的子对象。
WshShell对象可以操作注册表,创建快捷方式,或者访问系统文件夹,还可以处理环境变量等。
使用WshShell对象的RegRead方法可以读取注册表的键值的数据,它的语法如下:
object.RegRead(strName)
其中参数strName可以是注册表的键名称,也可以是注册表的键值名称。
当指定的是键名称时,必须在最后输入反斜杠符号,比如:“HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\StatusBar\”,否则会报错。
当指定的是注册表键的名称时,读取的是该键的默认值的数据。
当指定的是键值名称时,不需要在最后输入反斜杠符号,比如:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\StatusBar\MacroRecord。
比如我们要读取注册表的键“HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\StatusBar”的值“MacroRecord”的数据,可以使用如下的代码:
Sub QQ1722187970() Dim oWShell Set oWShell = CreateObject("WScript.Shell") Dim sValue As String Dim sKey As String '键的名称 sKey = "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Excel\StatusBar" '键值的名称 sValue = "MacroRecord" With oWShell 'sKey & "\"返回的是键的默认键值的数据 Debug.Print .RegRead(sKey & "\") 'sKey & "\" & sValue返回的是键的指定键值的数据 Debug.Print .RegRead(sKey & "\" & sValue) '没有加结尾反斜杠无法返回键的默认键值数据,会报错 Debug.Print .RegRead(sKey) End With End Sub
发表评论