【发布时间】:2019-04-23 12:36:19
【问题描述】:
我真的应该可以谷歌这个,但我找不到我想知道的。
我想检查一个文件是否存在。如果没有,应该弹出一个 MessageBox 并且 VBA 应该退出 sub。
If Dir("C:\file.txt", vbDirectory) = "" Then
MsgBox "File doesn't exist"
Exit Sub
End If
它有效,我只是想知道您是否可以在单行语句中执行此操作?当不止一件事应该发生时(就像这里的情况一样),VBA 是否允许这样做?此代码不起作用(语法错误):
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File doesn't exist" And Exit Sub
【问题讨论】:
-
个人意见:我不认为为了更紧凑的代码而牺牲代码可读性是值得的。因此,虽然这里可能很好,但我不建议将您的整个代码转换为单行代码
-
我同意@Rawrplus - 它让人很难阅读而没有收获
-
要进一步补充我的评论 - 如果您想缩短代码以提高可读性,那么不要。当你有 20k 行代码时,在结构上将代码划分为类别,按逻辑结构创建单独的模块等等。但是代码首先应该总是非常全面,只有在美学上令人愉悦。相信我,在重新访问代码时,您的同事、测试人员和未来的自己都会感谢您
-
我认为您要查找的关键字是“三元运算符”
-
我肯定不会在条件语句中内联提前返回。退出是应该在任何编程语言中脱颖而出的东西。使用四行版本。任何阅读您的代码的人都会为您所做的感到高兴。