PPT+VBA

매크로를 추가기능으로 만드는 방법 예시

쵸코난 2025. 2. 18. 22:42

pptm 파일의 매크로는 해당 파일이 열린 상태여야만 실행이 가능합니다.

다른 프레젠테이션을 작업하다가 필요할 때 pptm 을 열어야만 합니다.

이렇게 번거로운 점이 있는데 항상 실행할 수 있도록 메뉴 추가기능으로 만드는 방법을 정리합니다.

 

매크로파일은 예시로 SaveAsImage.pptm 을 이용합니다.

 

CustomUI.XML을 편집하는 방법은 여러가지가 있습니다.

비쥬얼로 눈으로 직접 보면서 삽입하는 방법도 있는데 종종 오류가 발생합니다.

Visual Studio가 설치되어 있다면 Visual Designer를 이용하는 것도 좋습니다.

안정적으로 XML 텍스트를 편집하는 방법은 Ribon X Editor 를 이용합니다.

1. RibonX Editor 에서 Open을 누르고 SaveImages.pptm 을 불러옵니다.

Insert를 누르고 2007 Custom UI를 추가하고 아래 내용을 붙여넣고 저장합니다.

저장 전에 Validate 를 눌러서 검사를 하는 것이 좋습니다.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
	<ribbon startFromScratch="false">
		<tabs>
			<tab id="SaveAs" label="SaveAs">
				<group id="SaveAsImage" label="이미지로 저장">
					<button id="Save1" label="선택 도형" imageMso="GroupShapes" size="large" _onAction="SaveShapesAsImage" />
					<button id="Save2" label="선택 슬라이드" imageMso="GroupSlides" size="large" _onAction="SaveSlidesAsImages" />
				</group>
			</tab>
		</tabs>
	</ribbon>
</customUI>
 
OnAction 에 있는 매크로를 실행하게 되므로 Alt+F11 코드창의 이름과 정확히 일치해야 합니다.
 
ImageMso 목록을 찾아보는 링크:

https://bert-toolkit.com/imagemso-list.html

여러가지 문법 참고 링크

https://learn.microsoft.com/en-us/openspecs/office_standards/ms-customui/

 

[MS-CUSTOMUI]: Custom UI XML Markup Specification

Specifies the Custom UI XML Markup used to implement UI customization in the context of ECMA-376 Office Open XML File

learn.microsoft.com

 

 

 

2. SaveImages.pptm 을 열어서 리본메뉴가 생기는지 확인 하고

파일 > 다른이름으로 저장에서 ppam 으로 저장합니다.

기본 추가기능(Addins) 폴더에 저장하는 것이 편합니다.

3. 다시 파일 > 옵션 > 추가기능 > PowerPoint추가기능으로 이동을 누르고

추가기능 대화창에서 '새로 설치'를 누르고 방금 저장한 ppam 을 지정하고 확인을 누릅니다.

그러면 메뉴가 원래 있던 메뉴외에 한개 더 중복으로 생기게 됩니다.

4. 최종 확인을 위해 파워포인트를 종료하고 재시작합니다.

기능을 테스트합니다.

 

CustomUI.XML이 삽입된 샘플 pptm 파일입니다. 다음 파일을 열어서 ppam으로 저장해도 됩니다.

SaveImages3.pptm
2.32MB