Delphi - база знаний

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

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

Open a new Application and place:

a button named Button3,
a RitchText object named WordEditor
and an OpenDialog component.

From now on, you can browse for any *.doc file and load it into the RitchText object.

NOTE: Format:=6 instructs Word to save the file as RTF. Extension is not enough.

Other File Formats:

Argument Format File Format    
0   Normal (Word format)    
1   Document Template    
2   Text Only (extended characters saved in ANSI character set)    
3   Text+Breaks (plain text with line breaks; extended characters saved in ANSI character set)    
4   Text Only (PC-8) (extended characters saved in IBM PC character set)    
5   Text+Breaks (PC-8) (text with line breaks; extended characters saved in IBM PC character set)    
6   Rich-text format (RTF)    

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


How to prevent word from opening password-protected files or resume wizard files and sometimes causing application to hang ?

The sollution is to add the folowing query before openning the document:

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

You can even preset the password propery as:

WordApp.Password := 'mypassword";

NOTE: If the above code generates an "Undefined property: ActiveDocument" change the:




Взято с

Delphi Knowledge Base

Содержание  Назад  Вперед