ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1854|回复: 5

[求助] 用WHS写REG_BINARY类型的注册表键值,其结果格式不符.请高手指教.

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-14 21:42 | 显示全部楼层 |阅读模式
本人用下列语句在VBA中试图修改一键值:
    Set ws = CreateObject("WScript.Shell")
    ws.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\FirstRowHasNames", 0, "REG_BINARY"
查看注册表,其结果为:00 00
而其本身的格式应该是00
从修改后执行的情况看,两种格式产生的结果是不一样.请教如何用WHS实现当写入0时,注册表中结果格式为00,而不是00 00.谢谢!

TA的精华主题

TA的得分主题

发表于 2014-12-14 23:18 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-15 08:57 | 显示全部楼层
jsxjd 发表于 2014-12-14 23:18
试一下:

CByte(0)

OK! OK! 谢谢版主大人.
不过很奇怪,昨天我用下列语句,却提示类型不符:
    Dim strValue As Byte
    strValue = 0
    Ws.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\FirstRowHasNames", strValue, "REG_BINARY"     '提示类型不配

TA的精华主题

TA的得分主题

发表于 2014-12-15 11:45 | 显示全部楼层
liu-aguang 发表于 2014-12-15 08:57
OK! OK! 谢谢版主大人.
不过很奇怪,昨天我用下列语句,却提示类型不符:
    Dim strValue As Byte

似乎不应该?

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-15 12:38 | 显示全部楼层
jsxjd 发表于 2014-12-15 11:45
似乎不应该?

重新测试了一下,的确不能用Dim定义变量的数据类型,否则会出错,下列两种写法都会出错:
dim strValue as Byte
strValue=0

dim strValue as Byte
strValue=Cbyte(0)
而只用下列语句则正确:
strValue=Cbyte(0) 或者直接在表达式中用Cbyte(0)

顺便请教一下版主,在解决这个问题的过程中,看到一位离任版主写的修改注册表专门文章:谈及了REG_BINARY用WSH写键值的问题.它谈到了可用十进制数字(0X)也或用十六进制数字,并没有用额外的代码转换为二进制.而我在自已的平台(win7 64 office 2010 32)上,却直接提示错误.
请问,是当时版主没有直接测试而误谈,还是可以在某种环境下可以那样做?谢谢!

TA的精华主题

TA的得分主题

发表于 2014-12-15 13:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 01:22 , Processed in 0.043984 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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