파워포인트 매크로
글쓴이: feanor / 작성시간: 토, 2006/12/09 - 1:32오후
어머님께서 프리젠테이션을 준비하시는데, 사진이 전체 화면에 꽉 차게 들어가는 슬라이드를 많이 넣고 싶다는 것이었습니다. (사진이 수십 장 됩니다.) 그래서 윈도우즈에 기본으로 들어 있는 사진 슬라이드 쇼를 쓰면 되지 않느냐고 했더니, 사진 사이사이에 보통 슬라이드도 넣고 싶다고 합니다. 오피스 버전은 오피스 2000입니다.
삽입 > 그림 > 그림 파일로 넣어보려고 했더니, 그림 파일 크기를 변경해 줘야 하는데다가 위치도 지정해 줘야 해서, 이건 부지하세월입니다. 조금 찾아보니 서식 > 배경 > 채우기 효과 > 그림을 사용하면 배경으로 들어가서 전체 화면에 꽉 차게 됩니다. 그런데 이것도 수십 장을 하려니 장난이 아닙니다.
아들이 명색이 프로그래머인데 어머님께 반복 작업을 시킬 수는 없지 싶어서, 팔자에도 없는 VBA 코딩을 했습니다. Picture 매크로를 실행하면 "내 그림" 폴더에서 미리보기와 함께 JPEG 이미지 파일을 여는 대화상자가 나오고, 파일을 선택하면 프리젠테이션의 맨 끝에 빈 슬라이드가 선택한 이미지 파일을 배경으로 하여 들어가고 UI가 새로 들어간 슬라이드로 이동합니다. 코드가 자명해서 별로 주석은 필요 없을 것입니다.
비슷한 문제를 겪으신 분 사용하세요. Public Domain 입니다. :)
Sub Picture() Dim Dialog As FileDialog Set Dialog = Application.FileDialog(ppFileDialogOpen) With Dialog Call .Extensions.Add("*.JPG", "JPEG Image") .DefaultDirectoryRegKey = "Picture" .InitialView = ppFileDialogViewPreview .IsMultiSelect = msoFalse .OnAction = "DoPicture" .Launch End With End Sub Sub DoPicture(Dialog As FileDialog) File = Dialog.Files(1) Count = Application.ActivePresentation.Slides.Count Dim Slide As Slide Set Slide = Application.ActivePresentation.Slides.Add(Count + 1, ppLayoutBlank) With Slide .FollowMasterBackground = msoFalse .Background.Fill.UserPicture File End With Application.ActiveWindow.View.GotoSlide Slide.SlideIndex End Sub
댓글
MS office의
MS office의 커스터마이제이션? 확장성?도 무시무시하군요.
.Extensions 부분에서 컴파일 오류가 나는데 어떻게 처리해야 하나요?
.Extensions 부분에서 컴파일 오류가 나는데 어떻게 처리해야 하나요?
댓글 달기