Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как сохранить текст MS Word в другом формате?

01.01.2007

Создайте новую форму и разместите на ней:

Теперь вы можете выбирать любой файл *.doc и загружать его в объект RichText.

Примечание: Format:=6 заставит Word сохранять файл как 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;

Как сделать, чтобы Word не открывал файлы с паролем или файлы помощника, которые вызывают зависание?

Перед открытием документа нужно добавить:

if WordApp.ActiveDocument.HasPassword = True then
  MsgBox("Password Protected");

Можно даже задать пароль:

WordApp.Password := 'mypassword';

Примечание: Если вышеприведённый код выдает "Undefined property: ActiveDocument", то замените:

CreateOleObject('Word.Basic');

на

CreateOleObject('Word.Application');
Previous page:
Как работать с WordBasic?
Top:
DRKB
Next page:
Как узнать версию MS Word?