반응형
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
문이 이미 한 줄 구문을 지원합니다.
간단히 말해서, 우리는 다음과 같은 것을 가질 수 있습니다.If {boolean-expression} Then {execution} End If
If {boolean-expression} Then {execution}
- 의 부족에 주목하십시오.
End If
두 번째 옵션에서, 한 줄 구문에서 완전히 생략되었기 때문에. - 또한 실행 블록은 단일 문만 포함할 수 있습니다.
- 의 부족에 주목하십시오.
다음으로, 코드를 연결하는 추가 방법은 다음과 같습니다.
:
컴파일러에서 새 줄 역할을 합니다.이것은 변수 선언에서 상당히 일반적인 관행입니다.
Dim x As Integer: x = 42
이제 이러한 단계를 함께 적용해 보겠습니다.
원본 코드
If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File doesn't exist" Exit Sub End If
한 줄 적용
If
통사론If Dir("C:\file.txt", vbDirectory) = "" Then MsgBox "File Doesn't Exist" Exit Sub
사용
:
넣을 기호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
반응형
'programing' 카테고리의 다른 글
python의 소켓 recv 메서드에 타임아웃을 설정하는 방법은 무엇입니까? (0) | 2023.06.17 |
---|---|
COUNTIF에서 비연속 범위를 정의하는 방법 (0) | 2023.06.17 |
Playstore에 게시한 후 Google 로그인이 작동하지 않음 (0) | 2023.06.17 |
무엇이 C에서 더 나은 상수, 매크로 또는 열거를 만들 수 있습니까? (0) | 2023.06.17 |
워드프레스:필터가 있는 보관 페이지가 작동하지 않음(ACF) (0) | 2023.06.12 |