매크로 없이 비밀번호 입력을 구현하려면 조금 복잡한 것이 사실입니다.

트리거를 이용해서 눌린 숫자에 해당하는 숫자도형이 해당 위치에 나타나게해야 합니다.

 

4자리 비번입력에서 맨 앞자리의 경우만 예를 들면 1,2,3,4 도형을 누를 때 해당 숫자가 첫번째 빈칸에서 나타나기 애니메이션을 적용하고 트리거를 지정해줍니다. 동시에 다른 숫자는 사라지기 애니메이션을 추가해줍니다.

실행화면:

프레젠테이션2314.pptx
0.10MB

 

그런데 네자리 수만해도 트리거 애니메이션을 여러개를 추가해서 애니메이션이 복잡해지게 됩니다.

또한 이미 사용한 숫자를 또 사용할 수 있는 버그가 있습니다.

 

이 경우 VBA를 약간만 이용해볼 수도 있습니다. 

숫자를 클릭하면 해당 위치(pos)에 숫자 도형이 나타나게 하고

확인을 누르면 사용자 답과 정답을 비교해서 정답인 경우 성공 도형이 나타나게 합니다.

중복된 숫자도 방지할 수 있습니다.

더보기
Option Explicit

Dim Pos As Integer

Sub Click(shp As Shape)

    Dim sld As Slide
    Dim no As Integer
    Dim i As Integer
    
    Set sld = shp.Parent
    no = CInt(shp.TextFrame.TextRange.Text)
    
    For i = 1 To Pos
        If CInt(sld.Shapes("a" & i).TextFrame.TextRange.Text) = no Then
            MsgBox "중복입니다."
            Exit Sub
        End If
    Next i
    
    If Pos < 4 Then Pos = Pos + 1
    sld.Shapes("a" & Pos).TextFrame.TextRange.Text = no
    
End Sub

Sub Cancel(shp As Shape)
    Dim sld As Slide
    Dim i As Integer
    
    Set sld = shp.Parent
    
    If Pos = 0 Then Exit Sub
    sld.Shapes("a" & Pos).TextFrame.TextRange.Delete
    Pos = Pos - 1
End Sub

Sub Confirm(shp As Shape)

    Dim sld As Slide
    Dim i As Integer
    Dim answer As String
    
    Set sld = shp.Parent
    
    For i = 1 To 4
        answer = answer & sld.Shapes("a" & i).TextFrame.TextRange.Text
    Next i
    
    If answer = "2314" Then
        sld.Shapes("정답!").Visible = msoTrue
    Else
        sld.Shapes("오답!").Visible = msoTrue
    End If
End Sub

Sub Retry(shp As Shape)
    
    Dim sld As Slide
    Dim i As Integer
    Dim answer As String
    
    Set sld = shp.Parent
    
    Pos = 0
    
    For i = 1 To 4
        sld.Shapes("a" & i).TextFrame.TextRange.Delete
    Next i
    
    sld.Shapes("정답!").Visible = msoFalse
    sld.Shapes("오답!").Visible = msoFalse
    
End Sub

 

매크로 실행화면:

 

프레젠테이션2314.pptm
0.18MB

 

그밖에 비밀번호 입력하는 샘플입니다.

 

비밀번호1.pptm
0.64MB