본문 바로가기
programming language/Perl

Perl을 이용한 MS word 문서 생성 자동화

by __observer__ 2012. 1. 11.
반응형

MS word 자동화에 대해 찾다 보니 C#, C++, VB 등을 이용한 문서 생성 방법 등이 나오더군요~

 

그러다 찾은 게 Perl 을 이용한 MS word 문서 생성 방법 입니다.

 

역시 Perl 은 역사가 깊은 만큼~ 없는 게 없군요. 굉장히 쉽고 편리하게 MS word 문서를 생성 할 수 있습니다.

 

Cpan 에서 Win32::OLE 을 설치 한 이후에 아래와 같이 코딩을 하면 문서가 뚝딱~ 만들어 집니다.

 

use warnings;

use strict;

use Win32::OLE;

 

my $word = CreateObject Win32::OLE 'Word.Application' or die $!;

$word->{'Visible'} = 0; # 화면에 보이진 않게 함, 1 로 설정하면 화면에 보이게 됨

 

my $document = $word->Documents->Add;

 

my $selection = $word->Selection;

 

$selection -> TypeText("워드 문서 생성~"); # 본문 내용

$selection -> TypeParagraph;

$selection -> TypeText("This is word document generated by perl"); # 본문 내용

$selection -> TypeParagraph;

 

$selection -> TypeText("제목"); # 본문 내용

$selection -> {'Style'} = "제목 1"; # 현재의 selection 부분에 스타일 설정

 

$selection -> TypeParagraph;

 

my $heading_1 = $document->Styles("제목 1");

my $heading_1_font = $heading_1->Font;

 

$heading_1_font -> {Name} = "맑은 고딕";

$heading_1_font -> {Size} = 20;

$heading_1_font -> {Bold} = 1;

 

$document->SaveAs('c:\generated.docx'); # c:\generated.docx 로 저장

$word->Quit();

 

 

위 코드 실행하면 다음과 같은 워드 문서가 만들어 집니다.

 

 

인터넷에서 찾은 간단한 예제 가지고 만든 거라 별거 안 나오지만 ~

 

Win32::OLE 모듈에 대해 좀더 공부한다면 훌륭한 문서 생성 자동화 방법이 될 것 같네요~


반응형

'programming language > Perl' 카테고리의 다른 글

Launchy Weby Merge Perl Code  (1034) 2014.06.12
Perl Clipboard 사용하기  (2126) 2014.03.12
Notepad++ 에서 Perl 실행 방법  (760) 2014.02.02
Perl 다른 파일의 함수 사용하기  (294) 2013.05.13
Vim 에서 perl 실행 하기  (299) 2012.05.12
Padre, Perl IDE  (299) 2012.02.14
윈도우 환경에서 vim Perl IDE 사용하기  (144) 2011.05.04

댓글