책 내용 질문하기
2013년 2회 컴활1급필기 기출문제
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
조회수
51
작성일
2013-07-02
작성자
첨부파일

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 변수의 값을 말한다. ---이 부분 설명 부탁드립니다.

답변
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”로 표시됩니다.

즐거운 하루 되세요.

"
  • *
    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”로 표시됩니다.

    즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.