나눔터  
  HOME > 나눔터 > 묻고답하기 > 파워포인트
파워포인트
파워포인트에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 ist공원 (ISTPARK)

추천:  5
파일:     조회:  1922
제목:   [VBA]선택영역의 색상을 알아내는 방법은...
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

1. 파워포인트 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...): 

* 아래줄에 질문을 작성하세요 >> 


현재 활성화된 (마우스로 선택된) 글자의 색상을 알아낼려면
어떻게 프로그래밍해야 하는지요?

마우스로 클릭하면 해당 text(가능하다면 image도...)의 font color를 받는 방법을 vba를 사용하여 하고 싶습니다.
 
[불량 게시물 신고]  
이중광안녕하세요ist공원님^^
파워포인트의 경우 Application의 이벤트를 사용해야 됩니다.
개체의 이벤트를 사용하려면 개체모듈에서 WithEvent키워드를 사용해서 이벤트를 사용하시면 됩니다.
Application의 이벤트 중 WindowSelectionChange이벤트를 
사용하시면 원하시는 결과를 얻으실수 있습니다.
WindowSelectionChange이벤트는
WindowSelectionChange(ByVal Sel As Selection)로
Selection개체를 받으실수 있습니다.
Selection개체에 현재 선택한것의 데이터를 얻으실수 있습니다
자세한 사항은 도움말을 참고하시면서 공부하시면 될듯 합니다.
파워포인트VBA를 제대로 사용하시려면 파워포인트의 개체모델을 아셔야 수월하게 작업하실수 있습니다. (모르셔도 도움말을 보시면 되지한 ㅎㅎ;;)
09-28 (22:02)
삭제 ■신고
이중광그리고 Text의 Font Color같은 것이라면 
TextRange개체의 구조를 아시면 될것 같습니다.
이전질문에 TextRange를 사용한 예제가 있는데, 그것을 보시면 쉽게 비교적 쉽게 작성하실수 있습니다.
(*Selection개체에는 TextRange속성이 있습니다. 그리고 Selection개체의 Type속성으로 현재 어떤 것(Shape개체나 글씨,슬라이드 혹은 없음(None))
선택했는지 알 수 있습니다.)

잘 이해가 안되시는 부분이 있으시면 말씀해주세요^^
09-28 (22:02)
삭제 ■신고
ist공원답변 감사드립니다.
지식이 짧아서 이해가 힘드네요...ㅠ.ㅠ

slide의 본문이 selection된 상황에서
activewindow.Selection.ShapeRange.TextFrame.TextRange.Font.Color
는 본문내의 text중 첫 글자의 color를 반환하는 것 같습니다.

만약 두 번째 글자의 color가 다르고, 그것의 색상을 반환받으려면 어떻게 해야는지...좀 더 나아가 마우스가 가리키는 text의 색상을 받는 방법을 알고 싶습니다.

답변을 다 주신 것 같은데, 제가 받아들이기엔 수준이 너무 높아요...^^

바쁘신데 여러번 답 주셔서 감사드립니다..
09-28 (22:20)
삭제 ■신고
이중광안녕하세요 ist공원님^^

우선 TextRange의 첫글자가 아닌 다른위치의 글자를 접근하시려면.

TextRange개체에는 Characters메서드가 있습니다.
이 메서드는 Mid처럼 전체문자중 특정 문자를 얻으실수 있습니다.
Characters(Start, Length)이니 설명이 필요없을것 같고 ㅎㅎ
참고로 Words메서드도 있습니다. Words니까 단어단위입니다.

나머지는 Font.Color속성으로 얻으시면 되겠습니다.

그리고 마우스가 가르치는 곳이라고 하면
Application개체의 이벤트에서는 마우스관련 이벤트가 없습니다.
09-29 (11:53)
삭제 ■신고
이중광
원하시는 기능은 다른소프트웨어에서 지원됩니다. 마우스를 올린부분의
색을 구하는 유틸을 사용하시면 됩니다. (제품명이 기억나지 않는다는 ㅜㅜ;;)

원하시는 것과 가장 근접하게 하는 방법은 텍스트를 선택(블록)했을때
그곳의 정보를 얻는 것입니다.

WindowSelectionChange이벤트에서 
    If Sel.Type = ppSelectionText Then MsgBox Sel.TextRange.Font.Color
라고 하시면 
선택된 것이 텍스트이면 선택된곳의 TextRange의 폰트색을 MsgBox로 출력
하게 됩니다.

그럼 좋은 하루되세요^^
09-29 (11:53)
삭제 ■신고
ist공원이벤트를 받고...그러는 개념은 조금 알겠는데요...
흠...이벤트를 어떻게 받는지 도무지...ㅠ.ㅠ
외람되지만, 마우스선택영역이 변경되었을 때 msgbox를 출력하는 등의 간단한 example하나 부탁드려도 될른지...^^
09-30 (17:12)
삭제 ■신고
        
  

작성일 : 2006-09-28(19:13)
최종수정일 : 2006-09-28(19:13)
 


 ◎ 관련글

  제 목   작성자   날짜
[VBA]선택영역의 색상을 알아내는 방법은... ist공원 2006-09-28
[RE][VBA]선택영역의 색상을 알아내는 방법은... 이중광 2006-09-30