글목록

2022년 1월 21일

PowerPoint 매크로 - ActiveSlide 호출하기

엑셀에서는 VB 편집기에서 ActiveSheet, ActiveWorkBook과 같이 현재 활성화된 시트나 워크북을 호출하는 것이 가능합니다만, 파워포인트에서는 현재 작업 중인 슬라이드에 어떠한 작업을 하거나 정보를 얻기 위해 ActiveSlide를 지정할 수 없습니다.

MS에서 왜 그랬는지는 저도 모르겠습니다만, 매크로를 작성하면서 현재 활성화된 슬라이드에 어떠한 작업을 실행하기 위해 슬라이드를 매번 지정하는 것도 꽤 귀찮은 일입니다. 따라서, 모듈에서 아래와 같은 함수를 정의해두면, 현재 활성화된 슬라이드를 반환해주고, 형식이 슬라이드이기 때문에 슬라이드 관련 method나 property를 찾아서 매크로 작성하기가 용이해집니다.

--------------------------------------

Function ActiveSlide() As Slide
  Set ActiveSlide = ActivePresentation.Slides(ActiveWindow.View.Slide.Name)
End Function

--------------------------------------


수정.

ActiveSlide를 호출하는 다른 방법을 추가합니다. 위의 함수는 여러개의 슬라이드를 선택한 상태에서는 무조건 선택된 슬라이드의 첫번째 슬라이드를 가져옵니다. 그러나, 현재 작업하고 있는 슬라이드를 호출하기 위해서는 아래와 같이 지정해주어야 현재 작업 슬라이드를 호출할 수 있습니다. Shift 키나 Ctrl 키를 조합해서 여러 슬라이드를 선택한 상태에서 현재 보여지는 슬라이드를 ActiveSlide로 지정하기 위해서는 아래와 같이 정의해주어야 합니다.

--------------------------------------

Function ActiveSlide() As Slide
  Set ActiveSlide = ActiveWindow.Selection.SlideRange(1)
End Function

--------------------------------------


댓글 없음:

댓글 쓰기

의견이나 질문이 있으신 분은 언제든지 댓글을 달아주세요~

많이 본 글 :