42. 다음 중 아래와 같은 이벤트 프로시저에 대한 설명으로 옳지 않은 것은?
|
Private Sub 실행_DblClick() Dim strSearch As String Dim intWhere As Integer With Me!순번 strSearch = InputBox("입력") ' Find string in text. intWhere = InStr(.Value, strSearch) If intWhere Then .SetFocus .SelStart = intWhere - 1 .SelLength = Len(strSearch) Else MsgBox "String not found." End If End With End Sub |
① intWhere 변수에는 10.56과 같은 실수를 저장할 수 없다.
② strSearch 변수에는 사용자가 입력 상자를 통해 입력한 값이 저장된다.
③ InStr(.Value, strSearch)에서 .Value는 strSearch 변수의 값을 말한다.
④ 입력 상자에서 입력된 문자열과 같은 내용을 찾지 못하면 'String not found.'란 메시지 상자를 표시 한다.
답은 3번인데 InStr(.Value, strSearch)에서 .Value는 strSearch 변수의 값을 말한다. ---이 부분 설명 부탁드립니다.
안녕하세요.
코드에 대한 설명은 다음과 같습니다.
|
Private Sub 실행_DblClick() ? Dim strSearch As String ?Dim intWhere As Integer ?With Me!순번 ?strSearch = InputBox(“입력”) ?‘ Find string in text. ?intWhere = InStr(.Value, strSearch) ?If intWhere Then ?.SetFocus ?.SelStart = intWhere - 1 ?.SelLength = Len(strSearch) Else MsgBox “String not found.” End If End With End Sub |
?‘strSearch’ 변수를 사용하기 위해 문자형으로 선언합니다.
?‘intWhere’ 변수를 사용하기 위해 정수형으로 선언합니다.
?Me(현재 활성화된 개체)의 ‘순번’ 컨트롤에 대한 구조체를 지정합니다.
※ ‘Me!순번’을 구조체로 지정하였으므로, 이후에 작성된 .SetFocus 등은 Me!순번.SetFocus 등과 같은 의미입니다.
?사용자가 입력 상자를 통해 입력한 값을 strSearch 변수에 저장합니다.
?이후 문장이 문자열을 찾는 부분임을 알리는 주석입니다.
?‘Me’ 개체의 ‘순번’ 컨트롤의 값(.Value)에서 strSearch 값(입력받은 값)이 처음 나타난 위치를 찾아 intWhere 변수에 저장합니다.
※ InStr은 지정된 문자열 안에서 특정 문자열이 처음 나타난 위치를 반환하는 함수입니다.
?intWhere 변수에 값이 있으면
?‘Me’ 개체의 ‘순번’ 컨트롤로 포커스(.SetFocus)를 이동합니다.
?intWhere 변수의 값에서 –1을 한 값을 텍스트의 시작 지점(.SelStart)으로 지정합니다.
?strSearch 변수에 입력된 값의 길이를 텍스트의 선택 길이(.SelLength)로 지정합니다.
intWhere 변수에 값이 없으면
메시지 창을 띄워 “String not found.”란 메시지를 표시합니다.
If문 종료
‘Me’ 개체의 ‘순번’ 컨트롤에 대한 구조체 종료
※ 지문에 제시된 프로시저는 Me(현재 활성화된 개체)의 순번 컨트롤에 입력되어 있는 값 중 사용자가 입력 상자를 통해 입력한 값이 있다면 그 부분만 선택되도록 표시하고 입력한 값이 없다면 “String not found.”라는 메시지를 출력합니다.
예)순번 컨트롤에 “1234567”이 입력되어 있고 사용자가 입력 상자에 ‘345’를 입력하였다면 순번 컨트롤의 값 중 345만 선택되어 “1234567”로 표시됩니다.
즐거운 하루 되세요.
"-
*2013-07-03 09:37:21
안녕하세요.
코드에 대한 설명은 다음과 같습니다.
Private Sub 실행_DblClick()
? Dim strSearch As String
?Dim intWhere As Integer
?With Me!순번
?strSearch = InputBox(“입력”)
?‘ Find string in text.
?intWhere = InStr(.Value, strSearch)
?If intWhere Then
?.SetFocus
?.SelStart = intWhere - 1
?.SelLength = Len(strSearch)
Else
MsgBox “String not found.”
End If
End With
End Sub
?‘strSearch’ 변수를 사용하기 위해 문자형으로 선언합니다.
?‘intWhere’ 변수를 사용하기 위해 정수형으로 선언합니다.
?Me(현재 활성화된 개체)의 ‘순번’ 컨트롤에 대한 구조체를 지정합니다.
※ ‘Me!순번’을 구조체로 지정하였으므로, 이후에 작성된 .SetFocus 등은 Me!순번.SetFocus 등과 같은 의미입니다.
?사용자가 입력 상자를 통해 입력한 값을 strSearch 변수에 저장합니다.
?이후 문장이 문자열을 찾는 부분임을 알리는 주석입니다.
?‘Me’ 개체의 ‘순번’ 컨트롤의 값(.Value)에서 strSearch 값(입력받은 값)이 처음 나타난 위치를 찾아 intWhere 변수에 저장합니다.
※ InStr은 지정된 문자열 안에서 특정 문자열이 처음 나타난 위치를 반환하는 함수입니다.
?intWhere 변수에 값이 있으면
?‘Me’ 개체의 ‘순번’ 컨트롤로 포커스(.SetFocus)를 이동합니다.
?intWhere 변수의 값에서 –1을 한 값을 텍스트의 시작 지점(.SelStart)으로 지정합니다.
?strSearch 변수에 입력된 값의 길이를 텍스트의 선택 길이(.SelLength)로 지정합니다.
intWhere 변수에 값이 없으면
메시지 창을 띄워 “String not found.”란 메시지를 표시합니다.
If문 종료
‘Me’ 개체의 ‘순번’ 컨트롤에 대한 구조체 종료
※ 지문에 제시된 프로시저는 Me(현재 활성화된 개체)의 순번 컨트롤에 입력되어 있는 값 중 사용자가 입력 상자를 통해 입력한 값이 있다면 그 부분만 선택되도록 표시하고 입력한 값이 없다면 “String not found.”라는 메시지를 출력합니다.
예)순번 컨트롤에 “1234567”이 입력되어 있고 사용자가 입력 상자에 ‘345’를 입력하였다면 순번 컨트롤의 값 중 345만 선택되어 “1234567”로 표시됩니다.
즐거운 하루 되세요.
"