2008년 8월 8일 금요일

오픈 오피스 - 다른형식으로 저장을 쉽게 해보자

오픈 오피스를 쓰다보면 다른 문서 형식으로 저장해야하는 경우가 종종 생깁니다.
(다른 오피스들도 .odf를 지원해주면 좋으련만..)
일일이 지정해서 저장하기도 귀찮고 해서, .odf 형식외에 몇가지를 추가하여 자동 저장하는 매크로를 소개합니다.

NOTE : d:\backup 이 부분의 경로명을 고치면 원하는 폴더에 저장할수 있습니다.
이 매크로를 실행하기 전에 [파일]→[등록정보]메뉴를 선택한후 설명 탭의 제목 항목을 입력하셔야 합니다.
제목표시줄엔 제목없음 이라고 표시되지만 저장폴더로 들어가보면 제목에 적어놓은 이름으로 저장되어 있습니다.

NOTE:
.hwp를 시도해 봤지만, 역시나 안되눈군요.
           export는 아직 비공개 포맷이라 그런지 지원되지 않습니다.
 

Sub Main
oTextDoc = ThisComponent
cDocumentTitle = oTextDoc.getDocumentInfo().Title

If Len( cDocumentTitle ) = 0 Then
MsgBox( "파일->등록정보->설명->제목을 입력하세요." )
Exit Sub
EndIf

cBackupFolder = "d:\backup"

' Save a backup as odt
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".odt" )
oTextDoc.storeToUrl( cURL, Array() )

' Save a backup as RTF
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".rtf" )
oTextDoc.storeToUrl( cURL, Array( MakePropertyValue( "FilterName", "Rich Text Format" ) ) )

' Save a backup as DOC
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".doc" )
oTextDoc.storeToUrl( cURL, Array( MakePropertyValue( "FilterName", "MS Word 97" ) ) )

' Save a backup as PDF
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".pdf" )
oTextDoc.storeToUrl( cURL, Array( MakePropertyValue( "FilterName", "writer_pdf_Export" ) ) )

' Save a backup as TXT
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".txt" )
oTextDoc.storeToUrl( cURL, Array( MakePropertyValue( "FilterName", "Text" ) ) )

' Save a backup as XML
cURL = ConvertToURL( cBackupFolder + "\" + cDocumentTitle + ".xml" )
oTextDoc.storeToUrl( cURL, Array() )
End Sub


' Create and return a new com.sun.star.beans.PropertyValue.
'
Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function



사용자 삽입 이미지

저장된 모습입니다



댓글 없음:

댓글 쓰기