2011년 3월 3일 목요일

MS Word 파일에서 텍스트 추출

usesWindows, SysUtils, Variants, Forms, ComObj, OleServer, WordXP;

...
...
...



functionGetWordText(const fName: String): String;
var  WordApp, WordDoc: OleVariant;
  i: Integer;

begin
 // 워드 어플리케이션 생성
  try
    WordApp:=CreateOleObject('Word.Application');
 except
    MessageBox(0,'MS-Word 가 설치되어 있지 않습니다.','Error',MB_OK);
    Exit;
  end;

  // 파일존재 여부 검사  if notFileExists(fName) then begin
    MessageBox(0,'파일이 없습니다.','Error',MB_OK);
    Exit;
  end;

  // 워드 Document Open
  WordDoc:=WordApp.Documents.Open(OleVariant(fName),EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam);

  // 텍스트 추출
  fori:=1to WordDoc.Sentences.Count do begin    Result:=Result+#13#10+WordDoc.Sentences.Item(i).Text;
    Application.ProcessMessages;
  end;

  // 해제  WordDoc.Close(wdDoNotSaveChanges, EmptyParam, EmptyParam);
  WordApp.Quit(EmptyParam, EmptyParam, EmptyParam);
  WordDoc:=UnAssigned;
  WordApp:=UnAssigned;
end;
 

댓글 없음:

댓글 쓰기