Delphi World - Как преобразовать DOC в RTF при помощи OLE
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как преобразовать DOC в RTF при помощи OLE

Создайте новое приложение и пометите на него: кнопку с именем Button3, объект RitchText с именем WordEditor и компонент OpenDialog. Теперь посмотрим, как пролистывать все файлы *.doc и загружать их в объект RitchText.

ЗАМЕЧАНИЕ: Format:=6 указывает Word-у на необходимость сохранять файл как RTF. Расширения недостаточно.

Другие форматы файлов:

Format      File 
Argument    Format 
--------    ------ 

   0        Нормальный (формат Word)
   1        Шаблон документа
   2        Только текст (extended characters saved in ANSI character set) 
   3        Текст+Переносы (plain text with line breaks; extended 
            characters saved in ANSI character set) 
   4        Только текст (PC-8) (extended characters saved in IBM PC 
            character set) 
   5        Текст+Переносы (PC-8) (text with line breaks; extended 
            characters saved in IBM PC character set) 
   6        Формат Rich-text (RTF) 

procedure TImport_Form.ToolButton3Click(Sender: TObject);
var
  WordApp: Variant;
begin
  if OpenDialog1.Execute then
  begin
    Edit1.Text := ExtractFileName(OpenDialog1.FileName);
    StatusBar1.SimpleText := OpenDialog1.FileName;
    WordApp := CreateOleObject('Word.Basic');
    if not VarIsEmpty(WordApp) then
    begin
      WordApp.FileOpen(OpenDialog1.FileName);
      WordApp.FileSaveAs(Name := 'c:\temp_bb.rtf', Format := 6);
      WordApp.AppClose;
      WordApp := Unassigned;
      WordEditor.Lines.LoadFromFile('c:\temp_bb.rtf');
    end
    else
      ShowMessage('Could not start MS Word');
  end;
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования