为了账号安全,请及时绑定邮箱和手机立即绑定

关于语句TypeName(文件名) = "Boolean"的问题!

关于语句TypeName(文件名) = "Boolean"的问题!

慕丝7291255 2021-05-05 16:07:14
if TypeName(文件名) = "Boolean" thenExit SubEnd If那个文件名是用Application.GetOpenFilename方法输入的文件名。上面那个判断怎么理解,高手解剖下。为什么打开后选取了文件就BOOLEAN就是TRUE,如果没打开的话就执行Exit Sub呢?????如果点击取消是FALSE的话,为什么还达到条件而退出了呢?而选择了文件程序才会跳过去继续执行你这解释不通
查看完整描述

2 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

duvetwong描述的很清楚,是你没理清逻辑
TypeName返回的是数据类型的名称
If判断的是【TypeName() = "Boolean"】这整个一个表达式的结果,当然它也是Boolean,但与引号内的Boolean不同啊,更与它是True或False无关
GetOpenFilename返回值是String或String数组,取消时则返回False,TypeName取得它的类型时就会返回Boolean(String),与等号后面的"Boolean"相符,所以【TypeName() = "Boolean"】为True,所以If代码段中的代码将被执行,在本例中也就是Exit Sub,只有当用户选择了文件并点确定时,才会执行End If后面的代码段

查看完整回答
反对 回复 2021-05-09
?
HUX布斯

TA贡献1876条经验 获得超6个赞

TypeName是判断参数的数据类型,这个意思是判断“文件名”这个变量的数据类型,如果数据类型是Boolean,那么就exit sub

Application.GetOpenFilename在点击“确定”时会返回选中的文件名数组,点击“取消”时会返回一个Boolean型的False,所以判断是否是Boolean型的值就可以判断出点的是确定还是取消

查看完整回答
反对 回复 2021-05-09
  • 2 回答
  • 0 关注
  • 310 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信