ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C#]파워포인트 슬라이드 구현하기
    취미생활/C# 2019. 12. 13. 14:59
    반응형

    안녕하세요

     

    코딩하는남자 코딩연습생입니다

     

    오늘 벌써 4번째 글을 쓰고 있는거 같습니다ㅎㅎㅎ

     

    요즘 회사 일이 많아 1일1포스팅을 지킬려고 힘들게 노력하다가

     

    1일 1포스팅은 무조껀 지키고 시간이 있을때 많이 포스팅 하자 맘 먹고 하루 벌써 4개의 포스팅을 하고 있습니다ㅎㅎㅎ

     

    제가 블로그를 운영해서 미비한 수준의 실력이지만 그래도 같은 개발자분들에게 조금이나마 서로 도와주고

     

    정보 공유 할 수 있는 계기가 되길 원합니다ㅎㅎ

     

    이번 주제는 C#으로 파워포인트 슬라이드를 구현해볼려고 합니다

     

    이걸 만들게 된 계기는 공유폴더에 파워포인트 문서를 특정 조건에 의해 자동 슬라이드를 보여 주는 방식의 

     

    프로그램을 만들기 위해서 입니다

     

    예를 들면 제조회사에서 공정에 작업표준을 띄운다든지 아니면 손님별 가이드 내용을 보여준다던지

     

    이러한 특수 조건에 의해 파워포인트 문서를 자동으로 슬라이드로 실행시키는거죠

     

    어떻게 보면 간단한 프로그램이지만 어디에 어떻게 사용하는냐에 따라 많이 응용 될수 있을거 같습니다

     

    다시 본론으로 돌아와서 기본 빈 C# 프로젝트를 하나 생성합니다

     

    저는 Project라는 이름으로 프로젝트를 생성했습니다

     

    그다음 비쥬얼베이직에 오피스 프로그램을 불러올수 있다록 참조 설정을 진행 합니다

     

     

     

    참조 관리자에서 COM탭에서 형식 라이브러리 항목중에 다음 리스트들을 참조 추가 해줍니다

     

    이렇게 추가 해준뒤 이제 소스 코드를 작성해 볼께요

     

    [Source Code]

    using PowerPoint = Microsoft.Office.Interop.PowerPoint;

    파워 포인트 슬라이드 옵션을 사용하기 위해 using문을 통해 파워포인트를 프로젝트에 삽입 시킵니다

     

     

    다름 코드분을 통해 해당 위치의 PPT파일을 슬라이드옵션을 부여하여 실행시킵니다

     

     PowerPoint.Application pptapp = new PowerPoint.Application();
     pptapp.Visible = MsoTriState.msoCTrue;
     PowerPoint.Presentation pptPres = pptapp.Presentations.Open(FileName, MsoTriState.msoCTrue, MsoTriState.msoCTrue, MsoTriState.msoCTrue);
     PowerPoint.SlideShowWindow slideWindow = pptPres.SlideShowSettings.Run();

     

    이렇게 실행 하게 되면 PPT파일이 실행되고 자동으로 슬라이드 옵션이 시작되면서

     

    바로 슬라이드 표현이 가능해 집니다

     

    이렇게 간단한 코드 몇줄로 C#으로 파워포인트 슬라이드를 제어 할 수 있습니다

     

    해당 Source Code 중에

     

    pptapp.Presentations.Open(FileName, MsoTriState.msoCTrue, MsoTriState.msoCTrue, MsoTriState.msoCTrue);

     

    해당 구문에서 FileName의 경우 네트워크 공유 폴더의 파일 명을 가져와 자동 입력되도록 구현 했습니다

     

    C#으로 네트워크 공유 폴더 접속 하는 방법은 다음번 블로그에 기재 하도록 하겠습니다

     

    해당 구문을 복사하여 FileName를 Fix 고정으로 구현하면 바로 테스트가 가능합니다

     

    한번 적용해 보시고 궁금한 사항이나 문제점은 댓글로 남겨 주시면 답변 드리도록 하겠습니다

     

    감사합니다~

    반응형
Designed by Tistory.