파워포인트 매크로

feanor의 이미지

어머님께서 프리젠테이션을 준비하시는데, 사진이 전체 화면에 꽉 차게 들어가는 슬라이드를 많이 넣고 싶다는 것이었습니다. (사진이 수십 장 됩니다.) 그래서 윈도우즈에 기본으로 들어 있는 사진 슬라이드 쇼를 쓰면 되지 않느냐고 했더니, 사진 사이사이에 보통 슬라이드도 넣고 싶다고 합니다. 오피스 버전은 오피스 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

댓글

sephiron의 이미지

MS office의 커스터마이제이션? 확장성?도 무시무시하군요.

keutoacc의 이미지

.Extensions 부분에서 컴파일 오류가 나는데 어떻게 처리해야 하나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.