我确实应该可以在Google上搜索到该内容,但找不到我想知道的内容。
我想检查文件是否存在。如果不是,则应弹出一个MessageBox,VBA应该退出该子程序。
If Dir("C:\file.txt", vbDirectory) = "" Then
MsgBox "File doesn't exist"
Exit Sub
End If
Run Code Online (Sandbox Code Playgroud)
它有效,我只想知道是否可以在一行语句中执行此操作?如果应该发生一件以上的事情(例如此处的情况),VBA是否允许这样做?该代码不起作用(语法错误):
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File doesn't exist" And Exit Sub
Run Code Online (Sandbox Code Playgroud)
Zam*_*mar 14
你绝对可以!
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File doesn't exist" : Exit Sub
Run Code Online (Sandbox Code Playgroud)
Raw*_*lus 11
该If
语句已经支持单行语法。
简单来说,这意味着我们可以:
If {boolean-expression} Then
{execution}
End If
Run Code Online (Sandbox Code Playgroud)If {boolean-expression} Then {execution}
Run Code Online (Sandbox Code Playgroud)
End If
第二个选项,因为在单行语法中已完全省略 然后,将代码串联在一起的另一种方式是与,:
后者?在编译器中充当新行。
这是变量声明中相当普遍的做法:
Dim x As Integer: x = 42
Run Code Online (Sandbox Code Playgroud)现在,让我们一起应用这些步骤:
原始代码
If Dir("C:\file.txt", vbDirectory) = "" Then
MsgBox "File doesn't exist"
Exit Sub
End If
Run Code Online (Sandbox Code Playgroud)应用单行 If
语法
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File Doesn't Exist"
Exit Sub
Run Code Online (Sandbox Code Playgroud)使用:
符号放入Exit Sub
单行If
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File Doesn't Exist" : Exit Sub
Run Code Online (Sandbox Code Playgroud)在 VBA 中,您甚至可以在一行中执行两行以上的代码,只需:
在一条指令和另一条指令之间添加即可!这是完全合法的:
If True Then MsgBox "True - Line 1": MsgBox "True - Line 2": Exit Sub
Run Code Online (Sandbox Code Playgroud)