글목록

2022년 3월 10일

PowerPoint 매크로 - 그림, 도형 정렬/배열하기 (2) - 위치별 배열 시작하기

저는 슬라이드에 여러 개의 사진을 넣고 격자형으로 배열하는 작업을 자주 합니다. 시간 순서대로 찍은 사진을 배열한다든지, 서로 다른 조건에서 실험한 여러 개의 사진을 실험 조건별로 사진을 배열하는 경우와 같이 여러 장의 사진을 배열해야하는 경우가 있습니다.

경우에 따라서는 슬라이드에 10~20장의 사진을 여러 페이지에 걸쳐 배열을 해주어야 하는데, 사진을 순서대로 클릭해서 선택하는 것도 매우 번거롭고, 때로는 클릭 순서가 잘못되는 경우도 많이 있어서 실수하게 됩니다. 이런 경우에는 사진을 보면서 대략적인 배열을 해두고, 격자에 맞게 제 위치에 배열이 되도록 한다면, 각각의 사진을 줄맞추느라 시간 걸릴 필요가 없겠지요.

예를 들면, 아래와 같이 6개의 그림이 있습니다. 각각의 ZOrder는 번호와 같습니다. 즉, 마우스 드래그로 선택한다면, 위의 3개 도형은 좌측에서 우측으로, 아래의 3개 도형은 우측에서 좌측으로 순서가 매겨집니다.



선택순으로 배열하라고 하면, □○△/□○△ 배열이 되겠지요. 그러나, 사용자 입장에서 ZOrder는 눈에 보이는 값이 아닙니다. 도형을 겹쳐봐야 어느 것이 위에 있는지 알 수 있습니다. 사용자가 대충 배열해놓은 현재 상태 그대로 □○△/△○□ 순서로 빨간색 박스의 각 셀에 배열해 넣고 싶다고 하면, 각 도형의 위치 정보로부터 왼쪽 위에서부터 차례로 배열해주면 됩니다.


현재의 위치에서 크게 벗어나지 않는 상태로 배열이 되도록 하면 아래와 같이 됩니다.


여러 도형을 선택한 순서대로 배열하는 경우에는 사용자가 지정한 순서대로 차례차례 원하는 위치로 도형을 옮겨주기만 하면 되고, 1열 또는 1행으로 배열하는 경우에는 X좌표 또는 Y좌표 정보만으로 정렬하여 배열해주면 되므로 역시 배열하는데 별다른 고민이 필요 없습니다. 

그러나, 처음 그림 배열에서처럼 X, Y 좌표에 대하여 연속적인 값을 갖고 있기 때문에, 위치 정보만으로 순서를 정하는 것이 쉽지 않습니다. 따라서, 각 도형의 연속된 위치 정보를 (1,1), (1,2), (1,3), (2,1), (2,2), (2,3)과 같이 이산화된 좌표로 변환해줄 필요가 있습니다.

다음 글에서는 이산화된 좌표로 만들어주기 위한 함수들을 만들고, 대략적으로 나열된 도형들을 정위치에 배열하는 매크로를 작성하도록 하겠습니다.

댓글 없음:

댓글 쓰기

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

많이 본 글 :