要求直接打开一个word文档,并且是只读,文档有多页。我用olecontainer只能看到第一页,看多页的时候就把word打开了。delphi里有没有一个更好的方法,把一个多页的word文档以只读的方式打开。

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
     try
       wordapplication1.connect;
     except
       messagedlg('word may not be installed', mterror, [mbok], 0);
       abort;
     end;
     wordapplication1.visible := true;
     wordapplication1.caption := 'delphi automation';
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     Itemindex, format,TempEmpty: olevariant;
     filename, passworddocument, passwordtemplate: olevariant;
     writepassworddocument, writepasswordtemplate: olevariant;
     confirmconversions, readonly, revert, addtorecentfiles: olevariant;
    begin
     filename:='d:\1.DOC';
     confirmconversions := false;
     readonly := false;
     addtorecentfiles := false;
     revert := true;
     passworddocument := '';
     passwordtemplate := '';
     writepassworddocument := '';
     writepasswordtemplate := '';
     format := wdopenformatdocument;
     wordapplication1.documents.open(filename, confirmconversions,
       readonly, addtorecentfiles, passworddocument, passwordtemplate,
       revert, writepassworddocument, writepasswordtemplate, format,TempEmpty,TempEmpty,TempEmpty,TempEmpty,TempEmpty);
    end;只读我没加上,你自己改一下就可以了.
     readonly := false;
    看到了吧
      

  2.   

    oc: TOleContainer
    ...
      oc.CreateObjectFromFile('e:\a.doc', true);
      oc.DoVerb(ovShow);
    你这样试试,不能控制只读;你再试一下
      

  3.   

    jacobran() :
    我的只读的意思是,不可更改,也就是只允许看不允许改。你的方法我试了,确实可以以只读方式打开word文档。
    我不想打开word,只想在我自己的窗体内打开word文档。还请关注!