본문 바로가기
■ 칼퇴를 위한 VBA : 사례/- VBA for 파워포인트

파워포인트 VBA: 오브젝트 순서 변경하기

by 포탈메이커 2023. 7. 1.

파워포인트 VBA: 오브젝트 순서 변경하기

파워포인트( PowerPoint)는 마이크로소프트에서 개발한 프레젠테이션 소프트웨어로, 각 슬라이드를 구성하는 오브젝트들을 다루는데 VBA(Visual Basic for Applications)를 사용할 수 있다. 이번 포스팅에서는 파워포인트 VBA를 사용하여 오브젝트의 순서를 변경하는 방법에 대해 알아보겠다.

1. 오브젝트의 순서란?

오브젝트의 순서란 파워포인트 슬라이드 상에서 각 오브젝트의 배치 순서를 말한다. 오브젝트를 추가할 때마다 기본적으로 가장 위에 위치하게 되며, 이후에 추가되는 오브젝트는 이전 오브젝트 위에 쌓이게 된다. 하지만 때로는 오브젝트의 순서를 변경해야 하는 경우가 있는데, 예를 들어 중요한 내용을 담고 있는 텍스트 상자를 다른 오브젝트의 위로 올리고 싶은 경우 등이 있다.

2. 순서 변경을 위한 VBA 코드

파워포인트 VBA를 사용하여 오브젝트의 순서를 변경하기 위해서는 "ZOrder" 메서드를 이용해야 한다. 이 메서드를 사용하면 오브젝트의 순서를 변경할 수 있다. 아래는 오브젝트를 위로 올리는 코드의 예시이다.

Sub MoveObjectUp()
    Dim slide As Slide
    Dim shape As Shape

    ' 작업하고자 하는 슬라이드 설정 (여기서는 현재 활성화된 슬라이드를 사용)
    Set slide = ActiveWindow.View.Slide

    ' 작업하고자 하는 오브젝트 설정 (여기서는 첫 번째 오브젝트를 사용)
    Set shape = slide.Shapes(1)

    ' 오브젝트를 위로 올림
    shape.ZOrder msoBringForward
End Sub

위의 코드에서 MoveObjectUp라는 서브루틴을 정의하고, slideshape이라는 변수를 설정한다. slide 변수에는 현재 활성화된 슬라이드를, shape 변수에는 작업하고자 하는 오브젝트(여기서는 첫 번째 오브젝트)를 설정한다. 그 후, shape.ZOrder 메서드를 사용하여 오브젝트를 위로 올리는 msoBringForward 값을 전달한다.

위의 코드를 실행하면, 작업하고자 하는 슬라이드의 첫 번째 오브젝트가 한 단계 위로 올라간다.

3. 순서 변경 예시

아래는 두 개의 텍스트 상자 오브젝트가 있는 슬라이드가 있다고 가정하자.

 

두 번째 텍스트 상자를 첫 번째 텍스트 상자 위로 올리고자 한다면, 아래와 같이 코드를 작성할 수 있다.

Sub MoveTextUp()
    Dim slide As Slide
    Dim shape1 As Shape
    Dim shape2 As Shape

    Set slide = ActiveWindow.View.Slide
    Set shape1 = slide.Shapes(1) ' 첫 번째 텍스트 상자
    Set shape2 = slide.Shapes(2) ' 두 번째 텍스트 상자

    shape2.ZOrder msoBringForward ' 두 번째 텍스트 상자를 위로 올림
End Sub

위의 코드를 실행하면, 두 번째 텍스트 상자가 첫 번째 텍스트 상자 위로 올라가게 된다.

4. 결론

이렇게 파워포인트 VBA를 사용하여 오브젝트 순서를 변경할 수 있다. ZOrder 메서드를 사용하면 오브젝트를 원하는 위치로 이동시킬 수 있으며, 이를 활용하여 다양한 작업을 수행할 수 있다.

이상으로 파워포인트 VBA를 이용한 오브젝트 순서 변경에 대해 알아보았다. 파워포인트 VBA를 사용하면 자동화 작업을 편리하게 수행할 수 있다는 점을 기억하자. 감사합니다.