매크로 없이 비밀번호 입력을 구현하려면 조금 복잡한 것이 사실입니다.
트리거를 이용해서 눌린 숫자에 해당하는 숫자도형이 해당 위치에 나타나게해야 합니다.
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
'Else' 카테고리의 다른 글
FFMPEG 팁)폴더 내의 모든 wav파일을 mp3로 일괄 변환 batch명령어 (0) | 2023.05.10 |
---|---|
오피스에서 온라인 아이콘, 그림 검색시 Offline 오류 (0) | 2023.04.14 |
부팅시 드라이브 문자 사라지는 이슈 (0) | 2023.04.08 |
파워포인트 표 테두리 적용 방식 (0) | 2023.02.25 |
그림 개체틀 활용하여 여러 개의 그림 일괄 삽입하기 (0) | 2022.12.10 |
텍스트 복사할 때 개행문자까지 복사되는 것을 방지하는 Tip (0) | 2022.11.09 |
파워포인트 글꼴 일괄로 바꾸는 세가지 방법 (0) | 2022.10.05 |
다운 받은 매크로 파일 차단해제 우회 방법 (0) | 2022.06.06 |
최근댓글