programing

VBA: 여러 작업을 포함하는 단일 행 if 문

topblog 2023. 6. 17. 08:13
반응형

VBA: 여러 작업을 포함하는 단일 행 if 문

정말 구글 검색을 할 수 있어야 하는데 알고 싶은 것을 찾을 수가 없습니다.

파일이 있는지 확인하고 싶습니다.그렇지 않으면 MessageBox가 팝업되고 VBA가 서브를 종료해야 합니다.

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

당신은 절대 할 수 있어요!

If Dir("C:\file.txt", vbDirectory) = "" Then  MsgBox "File doesn't exist" : Exit Sub
  • If문이 이미 한 줄 구문을 지원합니다.
    간단히 말해서, 우리는 다음과 같은 것을 가질 수 있습니다.

    1. If {boolean-expression} Then
         {execution}
      End If
      
    2. If {boolean-expression} Then {execution}
      
      • 의 부족에 주목하십시오.End If두 번째 옵션에서, 한 줄 구문에서 완전히 생략되었기 때문에.
      • 또한 실행 블록은 단일 문만 포함할 수 있습니다.

  • 다음으로, 코드를 연결하는 추가 방법은 다음과 같습니다.:컴파일러에서 새 줄 역할을 합니다.

    이것은 변수 선언에서 상당히 일반적인 관행입니다.

    Dim x As Integer: x = 42
    

이제 이러한 단계를 함께 적용해 보겠습니다.

  1. 원본 코드

    If Dir("C:\file.txt", vbDirectory) = "" Then 
       MsgBox "File doesn't exist"
       Exit Sub
    End If
    
  2. 줄 적용 If통사론

    If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File Doesn't Exist"
    Exit Sub
    
  3. 사용:넣을 기호Exit Sub우리의 단통법에.If

    If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File Doesn't Exist" : Exit Sub
    

VBA에서는 한 번에 두 줄 이상의 코드를 실행할 수 있습니다.:하나의 지시와 다른 지시 사이에!이것은 완벽하게 합법적입니다.

If True Then MsgBox "True - Line 1": MsgBox "True - Line 2": Exit Sub
If Dir("C:\file.txt", vbDirectory) = "" Then : MsgBox "File doesn't exist" : End If

저는 위의 답변을 수정하기에 충분한 평판을 가지고 있지 않습니다. :사이에 추가해야 합니다.Then그리고 당신의 액션 블록도.

기타 입자가 필요한 경우 신택스는 다음과 같습니다.

If i Mod 2 <> 0 Then debug.print "Odd" Else: debug.print "Even"

언급URL : https://stackoverflow.com/questions/55811381/vba-single-line-if-statement-with-multiple-actions

반응형