본문 바로가기
언어 참조

코드에서 괄호 사용

2023. 8. 7.

이 글은 도움말을 번역한 글입니다.

 

Sub 프로시저, 내장 구문 및 일부 메서드는 값을 반환하지 않으므로 인수를 괄호로 묶지 않습니다.

MySub "stringArgument", integerArgument


Function 프로시저, 내장 함수 및 일부 메서드는 값을 반환하지만 무시할 수 있습니다. 반환 값을 무시하는 경우 괄호를 포함하지 마세요. Sub 프로시저를 호출할 때와 마찬가지로 함수를 호출합니다. 괄호를 생략하고 인수를 나열하며 함수를 변수에 할당하지 마세요.

MsgBox "Task Completed!", 0, "Task Box"


함수의 반환값을 사용하려면 다음 예와 같이 인수를 괄호로 묶습니다.

Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")


Sub 프로시저 또는 함수 프로시저의 문은 명명된 인수를 사용하여 호출된 프로시저에 값을 전달할 수 있습니다. 명명된 인수를 사용하는지 여부에 관계없이 괄호 사용에 대한 지침이 적용됩니다. 명명된 인수를 사용하는 경우 어떤 순서로든 인수를 나열할 수 있으며 선택적 인수는 생략할 수 있습니다. 명명된 인수는 항상 콜론과 등호(:=)가 뒤에 오고 인수 값은 그 뒤에 옵니다.

 

다음 예제에서는 명명된 인수를 사용하여 MsgBox 함수를 호출하지만 반환 값은 무시합니다.

MsgBox Title:="Task Box", Prompt:="Task Completed!"

다음 예제에서는 명명된 인수를 사용하여 MsgBox 함수를 호출하고 반환 값을 변수에 할당합니다.

answer3 = MsgBox(Title:="Question 3", _ 
 Prompt:="Are you happy with your salary?", Buttons:=4)

예제 코드 - 1

Sub ExampleSubProcedure()
    
    Dim name As String
    
    name = "John"
    MsgBox "Hello, " & name & "!" ' MsgBox는 값을 반환하지 않으므로 괄호 없이 사용됩니다.
    
End Sub

예제 코드 - 2

Sub ExampleWithVariable()

    ' MsgBox 함수의 결과값을 변수에 담아서 작업하는 예제입니다.
    Dim name As String
    name = "Bob"
    
    Dim response As VbMsgBoxResult ' MsgBox 함수의 결과를 저장할 변수를 선언합니다.
    response = MsgBox("Hello, " & name & "!", vbQuestion + vbYesNo) ' 변수 response에 MsgBox 함수의 결과를 저장합니다.
    
    If response = vbYes Then ' 변수에 저장된 결과를 확인하여 작업합니다.
        MsgBox "You clicked 'Yes'!"
    Else
        MsgBox "You clicked 'No'!"
    End If
    
End Sub

도움말 출처

 

Using parentheses in code (VBA)

Office VBA reference topic

learn.microsoft.com

'언어 참조' 카테고리의 다른 글

Sub 및 Function 프로시저 호출  (0) 2023.08.08
자동화 이해  (0) 2023.08.07
다른 응용 프로그램 간의 작업  (0) 2023.08.06
재귀 프로시저 만들기  (0) 2023.08.06
조건부 컴파일 이해  (0) 2023.08.05