Excel精英培训网

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

[已解决][求助]请问大家,错误代码给我们带来了什么密码?

[复制链接]
发表于 2011-9-5 12:07 | 显示全部楼层 |阅读模式
本帖最后由 wbzxz 于 2011-9-6 07:22 编辑

下面有一段代码,实际上是一个错误代码,但是在某些条件下是可以调试通过的。
Sub test()
  Sheet1.Protect Password = 123
End Sub

在什么情况下,这句代码可以通过呢?

这句代码在 "要求声明变量“ 选项不选中的情况下,代码是可以调试通过的。(也就是每个模块前没有这一句  Option Explicit

虽然代码调试通过,但是当你点击”撤销工作表保护“的时候,输入什么密码才正确呢?
123这个密码可定是不对的,但是密码应该是多少呢?

我没有想出来,大家给指点指点,看看这种代码下,我们实际设置的工作表保护密码是什么?
__________________________________________本问题的答案————————————————————————————————————

关于这个问题,在Kratos的帮助下,终于得出了正确答案,为什么是False,我仔细思考了一下,应该这样解释。

1、当我们这样写的时候 Sheet1.Protect Password = 123,
     实际上相当于: Sheet1.Protect Password:=Password=123
     Password=123在这里作为了一个表达式来使用;


2、因为我们没有“要求声明变量”,所以password在语句 Sheet1.Protect Password = 123是一个变量,所以在这个语句
     Sheet1.Protect Password = 123中密码应该是:变量password与123的比较值,如果不相等,就是FALSE,相等就是TRUE


3、由于password是一个变量,但是又未被赋值,所以与123比较,那就肯定是FALSE,所以这个题的密码是FALSE

大家可以测试这个代码,就能理解啦。

Sub test()
  MsgBox Password
  MsgBox passwrod = 123
  Sheet1.Protect Password = 123
End Sub


关于Sheet表密码保护问题.rar (7.74 KB, 下载次数: 2)

评分

参与人数 1 +16 收起 理由
爱疯 + 16 支持认真学习

查看全部评分

发表于 2011-9-5 12:24 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-9-5 14:50 | 显示全部楼层
回复 Kratos 的帖子

我测试了,好像不是123,您测试是吗?
回复

使用道具 举报

发表于 2011-9-5 16:00 | 显示全部楼层
你写成
Sub test()
  Sheet1.Protect Password: = 123
End Sub
这样密码就是123,注意要有冒号

回复

使用道具 举报

 楼主| 发表于 2011-9-5 16:07 | 显示全部楼层
回复 Kratos 的帖子

呵呵,我知道这是正确写法,但是我的帖子了说明了,我给出的写法是不规范写法,但是在某些情况下是可以运行的,运行后仍然给Sheet1工作表进行了保护,但是不知道密码是多少,您能给再看看嘛?
回复

使用道具 举报

发表于 2011-9-5 16:12 | 显示全部楼层
回复 wbzxz 的帖子

对哦,这个问题好奇怪哦,也不是ascii码,也不是“=123”,完全没方向阿……我刚刚在网上搜了好久还没找到类似答案,只有等待大神解答了~
回复

使用道具 举报

 楼主| 发表于 2011-9-5 16:21 | 显示全部楼层
回复 Kratos 的帖子

这个问题就是比较奇怪
Sheet1.Protect Password = 123


对于这个语句来说,肯定是把 Protect后面的一部分内容作为了密码,但是到底是什么内容,猜不出来,嘿嘿。需要大家多多指点。
回复

使用道具 举报

发表于 2011-9-5 16:30 | 显示全部楼层    本楼为最佳答案   
回复 wbzxz 的帖子

受了你的启发,答案就是:“FALSE”!!!!哈哈,亲测成功!!
回复

使用道具 举报

 楼主| 发表于 2011-9-5 16:31 | 显示全部楼层
回复 Kratos 的帖子

你太强啦,我回去试一试。
回复

使用道具 举报

发表于 2011-9-5 16:33 | 显示全部楼层
回复 wbzxz 的帖子

其实我的思路也陷入局限了,光想着=后面的东西,你说protect后面是整体,于是乎就想到拉~{:912:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 15:00 , Processed in 0.384421 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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