PPT 도형 붙이기

AutoHotKey 2023. 2. 11. 14:07

관련: 지식인1, 지식인2, 지식인3

 

위 그림처럼 파워포인트에서

선택한 도형들을 위아래로 붙이거나 혹은 좌우로 붙이는 기능을 원하는 경우입니다.

 

도형이 많을 때는 가이드선에 맞춰서 도형을 정확히 붙이는 것이 힘들 수 있습니다.

자동으로 도형을 정렬하려면 . . . 

 

 

1. 아래와 같은 VBA를 이용하시면 되겠습니다.

Sub attach_가로()
    With ActiveWindow.Selection.ShapeRange
        For i = 2 To .Count
            .Item(i).Left = .Item(i - 1).Left + .Item(i - 1).Width
            '.Item(i).Top = .Item(i - 1).Top
        Next i
    End With
End Sub

Sub attach_세로()
    With ActiveWindow.Selection.ShapeRange
        For i = 2 To .Count
            .Item(i).Top = .Item(i - 1).Top + .Item(i - 1).Height
            '.Item(i).Left = .Item(i - 1).Left
        Next i
    End With
End Sub

alt-f11 창에서 삽입 >모듈 추가하고 위 코드를 붙여넣고 코드창을 닫고

도형들을 선택하고 Alt-f8 누르고 'attach_가로/세로'를 실행해하세요.

빠른 실행에 추가하면 Alt-숫자키로 가능합니다.

실행화면:

 

샘플 파일 아래 첨부합니다.

 

2. 이 기능을 원하는 단축키를 사용할 수 있게 Autohotkey로 만들 수도 있습니다.

$F3::
	ppt:=ComObjActive("PowerPoint.Application")
	ppt.Visible := True
	IfWinActive, ahk_exe POWERPNT.EXE
	{
		if (ppt.ActiveWindow.Selection.type !=2) {
			MsgBox,Select shapes first.
			return
		}

        try {
			 S := ppt.ActiveWindow.Selection.ShapeRange
			 loop, % S.Count {
				if (A_Index >1) {
					S.Item(A_Index).Left := S.Item(A_Index-1).Left +  S.Item(A_Index-1).Width
				}
			}
		}
		ppt:=""
	}

	return

$F4::
	ppt:=ComObjActive("PowerPoint.Application")
	ppt.Visible := True
	IfWinActive, ahk_exe POWERPNT.EXE
	{
		if (ppt.ActiveWindow.Selection.type !=2) {
			MsgBox,Select shapes first.
			return
		}

        try {
			 S := ppt.ActiveWindow.Selection.ShapeRange
			 loop, % S.Count {
				if (A_Index	>1) {
					S.Item(A_Index).Top := S.Item(A_Index-1).Top +  S.Item(A_Index-1).Height
				}
			}
		}
		ppt:=""
	}

	return
ExitMenu:
#x::
	ExitApp

첨부한 AttachXY.exe를 실행합니다.

확인을 누르면 상태표시줄로 최소화됩니다.

파워포인트 슬라이드에서 원하는 도형을 선택하고 F3을 누르면 좌우로 붙게되고 F4를 누르로 상하로 붙게됩니다.

종료는 Win+X를 누릅니다.

3. 그리고 위 기능은 무료 추가기능 중 BrightSlide 에서도 Legacy Tools메뉴에 비슷한 기능(처음 두 도형의 간격을 나머지 도형들에 적용하는 기능)을 지원합니다. BrightSlide는 무료이지만 설치 후에 메일을 등록해야 사용이 가능합니다.

https://twitter.com/BrightCarbon/status/1540370423636017158

 

 

VBA코드 샘플 파워포인트 매크로파일:

프레젠테이션1.pptm
0.04MB

Autohotkey 스크립트 소스:

AttachXY1.ahk
0.00MB

Autohotke 실행파일:

AttachXY1.exe
0.80MB

 

 

Copyright ⓒ konahn 2023. You are free to use the source personally.