위와 같이 빨강, 녹색, 파랑을 섞어서 LED등의 RGB색상이 변하는 것을 시뮬레이션 해보려고 합니다.

(관련: 지식인 링크 )

 

먼저 화살표가 돌아가는 주변 눈금 만드는 것도 간단하지 않기 때문에 만드는 방법을 먼저 확인하세요.

도형병합(조각) 이용

 

 

다음으로 눈금을 복사해서 세가지 색깔마다 눈금과 TextBox 그리고 스핀버튼 컨트롤을 추가하고

LED 그림을 그리고 최종 색깔 삼각형까지 추가합니다.

마지막으로 약간의 VBA코드를 입력합니다. 모듈이 아니라 현재 슬라이드의 코드창입니다.

현재 슬라이드 Slide1, Slide2 라는 이름은 슬라이드를 삭제하면 번호가 슬라이드 순서와 달라지는 것에 유의하세요. 샘플파일은 첫번째 슬라이드에 들어 있지만 슬라이드이름은 Slide3입니다.

 

더보기
'스핀 버튼을 누를 때
Private Sub SpinButton1_Change()
    TextBox1.Text = SpinButton1.Value  'TextBox에 숫자를 업데이트
    
    '빨간색 화살표의 회전값을 일정하게 변경
    SlideShowWindows(1).View.Slide.Shapes("Arrow_R").Rotation = _
        (360 - 72) / 255 * SpinButton1.Value
        
    'LED 출력의 색깔을 반영
    Call ChangeLEDColor
End Sub

Private Sub SpinButton2_Change()
    TextBox2.Text = SpinButton2.Value
    
    SlideShowWindows(1).View.Slide.Shapes("Arrow_G").Rotation = _
        (360 - 72) / 255 * SpinButton2.Value
                
    Call ChangeLEDColor
End Sub

Private Sub SpinButton3_Change()
    TextBox3.Text = SpinButton3.Value
    
    SlideShowWindows(1).View.Slide.Shapes("Arrow_B").Rotation = _
        (360 - 72) / 255 * SpinButton3.Value
                
    Call ChangeLEDColor
End Sub

Private Function ChangeLEDColor()
    SlideShowWindows(1).View.Slide.Shapes("LedColor").Fill.GradientStops(1).Color.RGB = _
            RGB(SpinButton1, SpinButton2, SpinButton3)
            '세가지 색깔을 조합하여 LED 색깔 변경
End Function

'텍스트박스 값이 바뀌면 스핀버튼의 값도 변경(그러면 화살표 회전값도 변경됨)
Private Sub TextBox1_Change()
    SpinButton1.Value = TextBox1.Text
End Sub

Private Sub TextBox2_Change()
    SpinButton2.Value = TextBox2.Text
End Sub

Private Sub TextBox3_Change()
    SpinButton3.Value = TextBox3.Text
End Sub

 

 

마지막 실행화면입니다.

실행화면 - 빛의 3원색이 모두 255이면 검정색이 아니라 흰색이 됩니다.

 

이렇게 만들고 슬라이드쇼를 실행하고 ScreenToGif 같은 프로그램으로 실시간 캡쳐하면 되겠습니다.

스핀버튼을 수동으로 누르면서 조작하여야 합니다. 스핀버튼의 속도는 컨틀롤 속성에서 지연값을 조절하면 됩니다. 현재 기본 50에서 10으로 줄인 상태입니다.

색깔이나 숫자가 자동으로 변하게 하려면 약간의 코드 추가와 함께 시간 지연을 추가해야겠습니다.

첨부파일 매크로 허용해서 열고 테스트하세요.

 

LED_RGB1.pptm
0.15MB