Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5342|回复: 4

[分享] VBA的注册表读写函数

[复制链接]
发表于 2008-11-26 09:51 | 显示全部楼层 |阅读模式

VBA有四个内置函数让我们方便的操作注册表,但它们有一个缺点就是只能处理注册表的特定部分HKEY_CURRENT_USERSoftwareVB and VBA Program Setting.

【1】SaveSetting,顾名思义,这个函数就是让你在上面的注册表里里保存数值。
用法: SaveSetting appname, section, key, setting
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,在这个区域里保存注册表项设置
key是字符串,表示要保存的注册表项设置的名称
setting是任何类型的表达式,表示要保存的注册表项设置的值
例如:SaveSetting ThisWorkBook.Name,"MySection","MyKey","1973"
也可以:SaveSetting appname:=Thisworkbook.name,section="MySection",key:="MyKey",setting:=1973

【2】GetSetting,就是从上面的注册表里获取字符串值,如果注册表项设置不存在或为空的话,返回由default参数指定的值。
用法: GetSetting(appname, section, key[, default])
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,在这个区域里保存注册表项设置
key是字符串,表示要保存的注册表项设置的名称
default是可选的表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则 default 取值为长度为零的字符串 ("")。
例如:SaveSetting ThisWorkBook.Name,"MySection","MyKey","1973"
      Debug.Print GetSetting(ThisWorkBook.Name,"MySection","MyKey","0000")

【3】DeleteSetting,删除所设置键的区域或注册表项设置。取决于是否提供可选项Key。
用法: DeleteSetting appname, section[, key]
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称,如果只有appname和section,就删除指定的区域连同这个区域下所有的注册表项设置。
key是可选字符串,表示要删除的注册表项设置
例如:SaveSetting ThisWorkBook.Name,"MySection","MyYear","1973"
      SaveSetting ThisWorkBook.Name,"MySection","MyHome","Hunan"
      DeleteSetting ThisWorkBook.Name,"MySection","MyYear"  只删除MyYear项设置。
      DeleteSetting ThisWorkBook.Name,"MySection"  删除MySection区域并且同时删除剩下的MyHome项设置。 

【4】GetAllSettings,获取指定区域下所有的注册项设置,返回一个2维Variant数组。如果程序或区域不存在,返回未初始化的Variant变量。
用法: GetAllSettings(appname, section)
appname是字符串,表示所设置键的应用程序或工程名称
section是字符串,表示所设置键的区域名称
例如:
 dim i as integer
 dim vResult as Variant
 SaveSetting ThisWorkBook.Name,"MySection","MyYear","1973"
       SaveSetting ThisWorkBook.Name,"MySection","MyHome","Hunan"
 vResult=GetAllSettings(ThisWorkbook.name,"MySection")
 for i=LBound(vResult,1) to UBound(vResult,1)
  Debug.Print vResult(i,0) & ": " & vResult(i,1)
 Next i
 DeleteSetting ThisWorkbook.name,"MySection"

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-5-5 10:46 | 显示全部楼层
回复

使用道具 举报

发表于 2016-3-15 10:57 | 显示全部楼层
回复

使用道具 举报

发表于 2017-1-15 17:14 | 显示全部楼层
学习学习一下
回复

使用道具 举报

发表于 2017-4-14 16:26 | 显示全部楼层
学习,多谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 17:09 , Processed in 0.249330 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表