'매크로'에 해당되는 글 2건

  1. 2007.10.16 MS Word의 매크로(VBA) 를 이용한 텍스트 추출
  2. 2006.09.12 에디트 플러스 - Key매크로 2
Development2007. 10. 16. 09:33

워드 파일에서 전체 텍스트의 내용을 특정 페이지 단위로 텍스트 파일에 저장해주는 매크로입니다.
워드 파일일 전체를 텍스트로 변환해 주는 프로그램은 많지만, 페이지 단위로 깔끔하게 나눠주는 프로그램이 없어서 W. Polmann(www.ecm-e.de) 이란 분이 작성한 doc_splitter() 매크로를 참조하여 작성해 봤습니다.
이 분의 코드가 독일어(?)로 되어있고, 워드에서 복사/붙여넣기를 통해 분할된 doc파일을 생성하다 보니 속도가 너무 느려서 FileSystemObject를 이용해서 바로 텍스트 파일에 저장되게 하였습니다.
이미지를 포함해 워드를 분할하실 분은 W. Polmann씨의 매크로와 좀 수정하시는게 빠를 것 같습니다.
필요하신 분이 과연 있을지는 모르겠지만 오랫만에 포스팅합니다. ^_^;

Sub Doc2Text_Splitter()
    Dim origDoc, splitFileName
    Dim Message, dlgTitle, dlgDefault
    Dim curPage, pageCount, pageSize
    Dim FSO, FileObject
   
    origDoc = ActiveDocument.Name
    Message = "몇 페이지씩 자를까?"
    dlgTitle = "Doc Splitter"
    dlgDefault = "2"
    pageSize = InputBox(Message, dlgTitle, dlgDefault)
    pageCount = ActiveDocument.ActiveWindow.Panes(1).Pages.Count
   
    Set FSO = CreateObject("Scripting.FileSystemObject")
   
    '// 문서의 처음으로 돌아감
    Selection.HomeKey Unit:=wdStory
   
    For curPage = 1 To pageCount Step pageSize
           
        '// 문서명_xxxx.txt 형식의 파일로 저장
        splitFileName = Left(origDoc, Len(origDoc) - 4) & "_" & Right("000" & curPage - 1, 4) & ".txt"
        '// 자르기를 시작할 페이지로 이동
        Selection.GoTo What:=wdGoToPage, Name:=curPage
        startPosition = Selection.Start
       
        '// 페이지의 마지막 위치로 이동해서 커서 위치를 확인
        Selection.GoTo What:=wdGoToPage, which:=wdGoToNext, Name:=(curPage + pageSize)
        Selection.MoveRight Unit:=wdCharacter, Count:=1
        endPosition = Selection.End
        '// 복사할 위치값 체크
        If startPosition < endPosition Then
           
        '// 선택영역을 반전
            ActiveDocument.Range(startPosition, endPosition - 1).Select
           
        '// 파일을 생성하고 저장
            Set FileObject = FSO.CreateTextFile(ActiveDocument.Path & "\" & splitFileName, True, True)
            'FileObject.WriteLine (Selection.FormattedText.Text)
            FileObject.WriteLine (Selection.Text)
            FileObject.Close
            Set FileObject = Nothing
       
        End If
    Next curPage
   
    Set FSO = Nothing
End Sub
Posted by Blue*
Development2006. 9. 12. 02:14

자료변환 노가다를 하다 지쳐서 찾아보니 역시나 있었다!!!

에디트 플러스에 또한번 감동~~




======================================================

쌍따옴표 처리

찾을말 = *([0-9a-zA-Z #_:;\.\-\(\)]*)([ >])

바꿀말 ="\1"\2

홑따옴표를 쌍따옴표로

찾을말 = *'([0-9a-zA-Z #_:;\.\-\(\)]*)'  

바꿀말 ="\1"

-------------------------------------------------

참고로

찾을말 전체는 \0

(  ) 안의 내용순으로  \1, \2  .....





매크로 파일로 저장한 후 사용자도구에 추가해놓고 쓰면  됨.

1. 도구 --> 기록 --> 키입력기록

2. 도구 --> 기록 --> 기록저장 --> 매크로 파일로 저장

3. 도구 --> 사용자도구 구성 --> 추가 --> 키입력기록 --> 위에서 저장한 매크로 파일 지정

참, 자바스크립트 함수에는 적용되지 않으므로[CODE][/CODE]

HTML 태그부분만 선택한 후 적용하면 됨.

정규표현식_쌍따옴표_1.mac  ==>  쌍따옴표 처리

정규표현식_쌍따옴표_2.mac  ==>  홑따옴표를 쌍따옴표로





출처 : http://blog.naver.com/seein7/100012311107

Posted by Blue*