Как преобразовать 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;
|
|