오픈 오피스를 쓰다보면 다른 문서 형식으로 저장해야하는 경우가 종종 생깁니다.
(다른 오피스들도 .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
저장된 모습입니다
댓글 없음:
댓글 쓰기