- 최초 작성일: 2000-12-05
- 최종 수정일: 2026-09-30
- 조회수: 10 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 엑셀에서 파워포인트 실행하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
신문을 읽다보니 이런 글이 눈에 띄는군요. 아래의 글은 한 교수님이 일간지에 기고한 글입니다. 제목은 "섀클턴의 위기탈출 7계명"입니다. 섀클턴은 영국의 탐험가로 1915년 탐험대를 이끌고 남극횡단을 떠났다가 난파되어 10여개월을 표류하다가 그야말로 기적적으로 살아돌아온 사람이라고 합니다.
섀클턴의 위기탈출 7계명 (요약)
영국의 탐험가 섀클턴은 1915년 탐험대를 이끌고 남극횡단에 나섰다가 배가 난파되어 빙원 위에서 극한의 겨울과 굶주림을 견뎠고, 끝내 대원 27명 모두와 함께 살아 돌아왔다고 합니다. 기고자는 그 생존의 이유를 일곱 가지로 정리했습니다.
- 대원들이 스스로 탐험대의 주인임을 느끼게 하라.
- 짐을 가볍게 하라.
- 무리한 계획은 미련 없이 즉시 접어라.
- 위기 속에서도 다음 항해를 준비하라.
- 최종 목표를 혼동하지 말라.
- 기회가 오면 과감히 도전하라.
- 끝까지 책임져라.
※ 한국예술종합학교 교수가 일간지에 기고한 글을 요약한 것입니다.
나라 형편이 또다시 안좋은 쪽으로 진행되는 것 같습니다. 힘들 때 일수록 내부의 역량(조직이든 개인이든)을 길러야 할 것 같다는 생각에서 한번 인용해 보았습니다.
그럼 이번 시간에는 질문 하나를 살펴봅니다.
안녕하세요?
염치불구하고... 궁금한 점이 있어 처음으로 글을 올립니다.
궁금한 점은, 엑셀시트에 "커맨드 버튼"을 클릭하면 파워포인트의 파일이 열리고
슬라이드 쇼가 진행되는 과정이 잘 되지 않는군요.
고수님의 가르침 부탁드립니다.
엑셀에서 파워포인트 실행하기
핵심 요약: 엑셀에서 슬라이드쇼 실행
PowerPoint 개체 라이브러리를 참조한 뒤 파워포인트 애플리케이션 개체를 만들어 파일을 열고 슬라이드쇼를 실행합니다.
- 1단계: VB Editor의 도구-참조에서 PowerPoint 개체 라이브러리를 선택합니다.
- 2단계: CreateObject로 파워포인트를 실행하고 Presentations.Open으로 파일을 엽니다.
- 3단계: SlideShowSettings.Run으로 쇼를 실행하고 변수를 Nothing으로 비웁니다.
Step 1: 강좌 파일 준비하기
Excel에서 파워포인트 슬라이드쇼 실행이라… 못할 것도 없지요. 예전에 말씀드린대로 손으로 작업가능한 사항이면 모두 자동화가 가능하다고 생각하시면 아마 틀림이 없을 것입니다.
오늘 강좌 파일은 VB0073.xls와 MyPpt.ppt 파일, 이렇게 2개로 이루어져 있습니다. 압축을 해제하실 때 반드시 같은 폴더 내에 하시기 바랍니다. 그렇지 않으면 제대로 작동하지 않습니다. 확인하셨으면 버튼을 누르세요.
Step 2: 파워포인트 라이브러리 참조 설정하기
(1) VB Editor 상태에서 "도구-참조" 메뉴를 선택합니다.
(2) 그러면 "참조" 대화상자가 나타나는데 "사용 가능한 참조" 목록 중에서 "Microsoft PowerPoint 9.0 Object Libaray"를 선택합니다(Excel 2000 기준입니다. 만약 Excel 97버전이면 Microsoft PowerPoint 8.0 Object Library라는 목록이 나타날 것입니다).
참조 목록에 나타나는 라이브러리 이름과 버전은 설치된 Office 버전에 따라 다릅니다(예: PowerPoint 16.0 Object Library). 또한 CreateObject로 개체를 만드는 후기 바인딩(Late Binding) 방식을 쓰면 참조 설정 없이도 동작합니다. 이 경우 PowerPoint.Application 대신 Object로 변수를 선언합니다. 요즘 버전에서는 .ppt 대신 .pptx 파일도 그대로 열 수 있습니다.
Step 3: 슬라이드쇼 실행 코드 작성하기
(3) 모듈시트를 하나 삽입하고 아래의 코드를 작성합니다.
Sub ExePptShow()
Dim strFile As String
Dim Msg As String
Dim pptApp As PowerPoint.Application
Dim pptShow As PowerPoint.presentation
On Error Resume Next
'//먼저 변수를 선언합니다. 그런데 ...PowerPoint.Application, … PowerPoint.presentation
'//이라고 하는 못보던 변수형이 선언되었군요.
'//원래 VBA가 Visual Basic for Application, 즉 Visual Basic은 Visual Basic인데 특정한 소프트웨어(Application)을 위한 비주얼 베이직입니다. 따라서 VBA는 Excel에도
'//있고, 워드에도 있으며 파워포인트나 억세스에도 있습니다.
'//VBA를 배우면 좋은 것이 해당 소프트웨어를 구입하면 자동으로 따라온다는 점과
'//(물론 영특한(?) Microsoft社 원가담당 직원이 제품가격 책정시 VBA의 가치도 함께 산정
'//하였겠지만…) 어느 한 VBA를 마스터하면 다른 애플리케이션의 VBA도 80% 정도는
'//그냥 건질 수 있다는 점입니다. VBA 중에 가장 오브젝트가 많고 복잡한 편인 Excel의
'//VBA만 잘 익혀 두면 나머지 애플리케이션용 VBA는 그야말로 땅짚고 헤엄치기 이지요.
Set pptApp = CreateObject("Powerpoint.Application")
'//Excel의 최상위 오브젝트가 Application 오브젝트였지요?
'//파워포인트를 실행시켜야 하니까 파워포인트 애플리케이션 오브젝트를 불러 옵니다.
pptApp.Visible = True
strFile = ThisWorkbook.Path & Application.PathSeparator & "MyPpt.ppt"
Set pptShow = pptApp.Presentations.Open(strFile)
'//불러올 파일의 위치를 지정하고 파워포인트를 실행시킵니다.
pptShow.SlideShowSettings.Run
If Err <> 0 Then GoTo ET
Set pptApp = Nothing
Set pptShow = Nothing
Exit Sub
'//파워포인트의 슬라이드쇼를 실행시킵니다. 에러가 발생할 경우를 대비하여 에러 트래핑
'//구문을 하나 만들어 두었습니다.
'//프로그램을 다 실행한 다음에 Set pptApp=Nothing과 같이 하는 이유는 메모리의 효율적인
'//관리를 위해서입니다. 즉 변수를 사용한 다음에 메모리를 비워주는 것입니다. 이것도 좋은
'//습관이니까 몸에 붙이시도록…
ET:
Msg = "MyPpt 파일이 없거나 파워포인트를 실행할 수 없습니다" & vbCr & vbCr
Msg = Msg & "확인바랍니다."
MsgBox Msg, vbCritical, "실행 오류//Exceller"
End Sub
마무리
간단하지만 활용여하에 따라 유용하게 사용하실 수 있으리라 생각됩니다.
오늘은 여기까지…
정리 — 파워포인트 실행 핵심
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 개체 생성 | CreateObject("Powerpoint.Application") | 파워포인트 실행 개체 만들기 |
| 표시 | pptApp.Visible = True | 파워포인트 창 보이기 |
| 파일 열기 | pptApp.Presentations.Open(strFile) | 같은 폴더의 ppt 파일 열기 |
| 쇼 실행 | pptShow.SlideShowSettings.Run | 슬라이드쇼 시작 |
| 메모리 해제 | Set pptApp = Nothing | 개체 변수 비우기 |
자주 묻는 질문 (FAQ)
Q1. 엑셀에서 파워포인트를 제어하려면 무엇이 필요한가요?
VB Editor의 도구-참조에서 PowerPoint 개체 라이브러리를 선택하거나, CreateObject로 후기 바인딩을 사용하면 됩니다.
Q2. ThisWorkbook.Path는 왜 사용하나요?
엑셀 파일과 같은 폴더에 있는 ppt 파일의 경로를 만들기 위해서이며, 두 파일을 같은 폴더에 두어야 정상 작동합니다.
Q3. Set 변수 = Nothing은 왜 하나요?
사용을 마친 개체 변수의 메모리를 비워 주어 자원을 효율적으로 관리하기 위해서입니다.
마치며
CreateObject로 파워포인트 개체를 만들면 엑셀 버튼 하나로 슬라이드쇼까지 자동으로 실행할 수 있습니다.