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

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

慕丝7291255
浏览 317回答 2
2回答

阿晨1998

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后面的代码段

HUX布斯

TypeName是判断参数的数据类型,这个意思是判断“文件名”这个变量的数据类型,如果数据类型是Boolean,那么就exit subApplication.GetOpenFilename在点击“确定”时会返回选中的文件名数组,点击“取消”时会返回一个Boolean型的False,所以判断是否是Boolean型的值就可以判断出点的是确定还是取消
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL