지정된 길이의 반복 문자열을 포함하는 Variant(String)를 반환합니다.
구문은 다음과 같습니다.
Syntax
String(number, character)
number : 반환된 문자열의 길이입니다. number에 Null이 있으면 Null이 반환됩니다.
character : 반환할 문자열을 생성하는 데 사용할 문자 또는 문자열 식의 첫 번째 문자를 지정하는 문자 코드입니다. 'character'에 Null 값이 포함되어 있다면, Null이 반환됩니다.
테스트를 해보니 Null 반환대신 오류가 반환됩니다.
Sub StringNullRuntimeErrorExample()
Dim result As String
Dim lengthOfResult As Variant
' 정상적인 사용 예시: 문자 "A"를 5번 반복합니다.
lengthOfResult = 5
result = String(lengthOfResult, "A")
Debug.Print result ' 결과: AAAAA
' 'number' 인수에 Null이 포함된 경우
lengthOfResult = Null
On Error GoTo ErrorHandler
result = String(lengthOfResult, "A")
ExitSub:
Exit Sub
ErrorHandler:
Debug.Print "런타임 오류 발생: " & Err.Number & " - " & Err.Description
Resume ExitSub
End Sub
Sub StringNullCharacterExample()
Dim result As String
Dim lengthOfResult As Long
Dim inputChar As Variant
lengthOfResult = 5
inputChar = Null
On Error GoTo ErrorHandler
result = String(lengthOfResult, inputChar)
ExitSub:
Exit Sub
ErrorHandler:
Debug.Print "런타임 오류 발생: " & Err.Number & " - " & Err.Description
Resume ExitSub
End Sub
Sub StringNullExample()
Dim result As String
Dim lengthOfResult As Variant
' 정상적인 사용 예시: 문자 "A"를 5번 반복합니다.
lengthOfResult = 5
result = String(lengthOfResult, "A")
Debug.Print result ' 결과: AAAAA
' 'number' 인수에 Null이 포함된 경우
lengthOfResult = Null
If IsNull(lengthOfResult) Then
Debug.Print "Null 값이 발견되었습니다. 문자열을 생성할 수 없습니다."
Else
result = String(lengthOfResult, "A")
End If
End Sub
간단한 예제 코드입니다.
예제 코드
Sub CreateStringExample1()
Dim result As String
' 문자 "A"를 5번 반복합니다.
result = String(5, "A")
Debug.Print result ' 결과: AAAAA
End Sub
Sub CreateStringExample2()
Dim result As String
' ASCII 코드 값 42에 해당하는 문자("*")를 10번 반복합니다.
result = String(10, 42)
Debug.Print result ' 결과: **********
End Sub
Sub CreateStringExample3()
Dim result As String
Dim repeatCount As Long
Dim inputChar As Variant
repeatCount = 7
inputChar = "x"
' 문자 "x"를 repeatCount 값만큼 반복합니다.
result = String(repeatCount, inputChar)
Debug.Print result ' 결과: xxxxxxx
End Sub
Sub CreateStringExample4()
Dim result As String
' 문자 "-"를 10번 반복하고, 결과를 "Hello" 문자열의 앞뒤에 붙입니다.
result = String(10, "-") & "Hello" & String(10, "-")
Debug.Print result ' 결과: ----------Hello----------
End Sub
Sub CreateStringExample5()
Dim rowSeparator As String
Dim colSeparator As String
' 행 구분자 생성 (10개의 "-")
rowSeparator = String(10, "-")
' 열 구분자 생성 (3개의 " ")
colSeparator = String(3, " ")
Debug.Print "A1" & colSeparator & "A2" & colSeparator & "A3"
Debug.Print rowSeparator
Debug.Print "B1" & colSeparator & "B2" & colSeparator & "B3"
End Sub
Sub StringInputBoxExample1()
Dim inputChar As String
Dim repeatCount As Integer
Dim result As String
inputChar = InputBox("반복할 문자를 입력하세요:")
repeatCount = InputBox("반복 횟수를 입력하세요:")
result = String(repeatCount, inputChar)
Debug.Print result
End Sub
Sub StringInputBoxExample2()
Dim inputChar As String
Dim halfRepeatCount As Integer
Dim result As String
inputChar = InputBox("줄의 양쪽에 추가할 문자를 입력하세요:")
halfRepeatCount = InputBox("양쪽에 추가할 문자 개수의 절반을 입력하세요:")
result = String(halfRepeatCount, inputChar) & "Hello" & String(halfRepeatCount, inputChar)
Debug.Print result
End Sub
Sub StringInputBoxExample3()
Dim inputChar As String
Dim rowSeparator As String
Dim colSeparator As String
Dim repeatCount As Integer
inputChar = InputBox("테두리에 사용할 문자를 입력하세요:")
repeatCount = InputBox("행 구분자에 사용할 문자 개수를 입력하세요:")
rowSeparator = String(repeatCount, inputChar)
colSeparator = " "
Debug.Print rowSeparator
Debug.Print "A1" & colSeparator & "A2" & colSeparator & "A3"
Debug.Print rowSeparator
Debug.Print "B1" & colSeparator & "B2" & colSeparator & "B3"
Debug.Print rowSeparator
End Sub
'VBA 라이브러리' 카테고리의 다른 글
GetObject 함수 (0) | 2023.08.06 |
---|---|
CreateObject 함수 (0) | 2023.08.06 |
Space 함수 (0) | 2023.07.22 |
StrConv 함수 (0) | 2023.07.22 |
StrComp 함수 (0) | 2023.07.22 |