파워포인트에 그림을 여러장 붙여서 정리해야 했습니다. 여러 가지 방법을 사용해 봤습니다.

선을 그려 놓고, 거기에 맞춰서 그림들을 마우스로 움직여 정렬합니다. 깔끔하지는 않지만 눈대중으로 하는 것보다는 볼만합니다.

그림이 움직일때도 눈에 보이지 않는 좌표에 따라 움직이지 않도록 설정을 변경해 보기도 합니다.

그런데, 그림을 6장씩(3x2) 10개 sheet 이상 정렬하려니, 손으로 작업하는 것은 아니다 싶었습니다.

파워포인트에도 매크로가 있지 않을까 싶어서 찾아보니, 역시나 있었습니다.

그런데, 다른 프로그램들과 달리 단축키 버튼도 없고, 자동 녹화 기능을 쉽게 찾을 수 없었습니다.

대신에 VBA 프로그래밍에 대한 내용들만 있더군요.

더 좋은 방법이 많겠지만, 간단하게 제가 사용한 방법을 정리해 보았습니다.

 

[목적]

1. 그림 파일을 읽는다.

2. 파워포인트에 붙인다.

3. 크기를 조정한다.

4. 위치를 조정한다.

5. 총 6장에 대해서 반복 작업한다.

 

[전체 코드]

Sub ChangeFigSize()

ActiveWindow.Selection.ShapeRange.LockAspectRatio = msoTrue
ActiveWindow.Selection.ShapeRange.Height = 190

picNum = InputBox("그림 위치?")

If IsNumeric(picNum) Then

    If picNum = 1 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 85
    End If

    If picNum = 2 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 85
    End If

    If picNum = 3 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 370
    End If

    If picNum = 4 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 370
    End If

    If picNum = 5 Then
        ActiveWindow.Selection.ShapeRange.Top = 90
        ActiveWindow.Selection.ShapeRange.Left = 655
    End If

    If picNum = 6 Then
        ActiveWindow.Selection.ShapeRange.Top = 300
        ActiveWindow.Selection.ShapeRange.Left = 655
    End If

End If

End Sub

 

[상세]

파워포인트에서 '매크로' 메뉴를 실행하고, 새로운 매크로를 하나 만들면, VBA 프로그램 화면이 새로 뜹니다.

위의 전체 코드를 입력하기 전에 그림들의 위치를 확인해 볼 필요가 있습니다.

우선 손으로 그림들을 배치시켜봅니다.

그리고, 아래 코드를 VBA에 넣습니다.

MsgBox 'ActiveWindow.Selection.ShapeRange.Height'
MsgBox 'ActiveWindow.Selection.ShapeRange.Top'
MsgBox 'ActiveWindow.Selection.ShapeRange.Left'

그림을 하나 선택한 후, 매크로를 실행합니다. 그러면 팝업창이 뜨면서 선택한 그림에 대한 Height, Top, Left에 대한 숫자가 표시됩니다.

이 숫자들이 선택한 그림의 크기와 좌표 정보입니다.

손으로 작업한 것이라, 그림마다 조금씩 틀릴 수 있습니다.

따라서 모든 그림에 대한 크기와 좌표를 확인한 후, 최종적으로 작업할 그림의 크기, 좌표를 정리해 둡니다.

예를 들면 그림 크기가 160.1, 159.8, 160.3등이면 160을 사용하자는 식으로 말입니다.

 

앞서 그림의 크기와 좌표를 확인하기 위한 코드를 지우고, [전체 코드]를 넣습니다.

이때 앞서 확인한 그림의 크기, 좌표등의 숫자는 정리해둔 값을 사용하세요.

 

매크로를 실행하면 팝업창이 뜨면서 몇번째 그림으로 사용할 것인지 묻습니다.

이때 1~6 중에서 원하는 숫자를 입력하면 해당 위치로 그림이 이동하게 됩니다.

 

 매크로 실행을 위한 단축키를 사용하면 좋겠지만, 인터넷에서 쉽게 찾을 수는 없었습니다.

그래서 다음과 같이 작업했습니다.

 

1. 그림 파일을 읽는다. (Ctrl+C 키보드를 입력)

2. 파워포인트에 붙인다. (Ctrl+V 키보드를 입력)

3. 매크로를 실행한다.

    3.1. 매크로 자체를 실행하기 위한 단축키 "Alt+F8" 입력
    3.2. 매크로 메뉴에서 실행 단축키 "Alt+R"키 입력
    3.3. 그림의 위치 선정을 위한 숫자 입력

 

그림이 크기가 변경된 후 원하는 위치로 자동 이동하게 되었습니다.

 

[End]

반응형

'프로그래밍 > Tips & sites' 카테고리의 다른 글

[Obsidian] Google drive와 연동하기  (0) 2022.04.03
[Sites] CRC  (0) 2020.09.12
[Tips] VIM  (0) 2019.12.17
[Tips] Notepad++  (0) 2019.12.15

+ Recent posts