VBA的注册表读写函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VBA的注册表读写函数
2010-12-26 21:15:21| 分类:Office / VBA | 标签:|字号大中小订阅
VBA有四个内置函数让我们方便的操作注册表,但它们有一个缺点就是只能处理注册表的特定部分:
\HKEY_CURRENT_USER\Software\VB and VBA Program Setting\
【1】SaveSetting,顾名思义,这个函数就是让你在上面的注册表里里保存数值。
用法:SaveSetting appname, section, key, setting
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,在这个区域里保存注册表项设置
key是字符串,表示要保存的注册表项设置的名称
setting是任何类型的表达式,表示要保存的注册表项设置的值
例如:SaveSetting ,"MySection","MyKey","1973"
也可以:SaveSetting appname:=,section="MySection",key:="MyKey",setting:=1973
【2】GetSetting,就是从上面的注册表里获取字符串值,如果注册表项设置不存在或为空的话,返回由default参数指定的值。
用法:GetSetting(appname, section, key[, default])
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,在这个区域里保存注册表项设置
key是字符串,表示要保存的注册表项设置的名称
default是可选的表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则default 取值为长度为零的字符串("")。
例如:SaveSetting ,"MySection","MyKey","1973"
Debug.Print GetSetting(,"MySection","MyKey","0000")
【3】DeleteSetting,删除所设置键的区域或注册表项设置。取决于是否提供可选项Key。
用法:DeleteSetting appname, section[, key]
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,如果只有appname和section,就删除指定的区域连同这个区域下所有的注册表项设置。key是可选字符串,表示要删除的注册表项设置
例如:SaveSetting ,"MySection","MyYear","1973"
SaveSetting ,"MySection","MyHome","Hunan"
DeleteSetting ,"MySection","MyYear" 只删除MyYear项设置。
DeleteSetting ,"MySection" 删除MySection区域并且同时删除剩下的MyHome项设置。
【4】GetAllSettings,获取指定区域下所有的注册项设置,返回一个2维Variant数组。如果程序或区域不存在,返回未初始化的Variant 变量。
用法:GetAllSettings(appname, section)
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称
例如:
dim i as integer
dim vResult as Variant
SaveSetting ,"MySection","MyYear","1973"
SaveSetting ,"MySection","MyHome","Hunan" vResult=GetAllSettings(,"MySection")
for i=LBound(vResult,1) to UBound(vResult,1)
Debug.Print vResult(i,0) & ": " & vResult(i,1)
Next i
DeleteSetting ,"MySection"