http://www.torry.ru/里有控件。嘿嘿。

解决方案 »

  1.   

    delphi可以内嵌word文档控件,delphi自带就有,用一用就知道了。
      

  2.   

    uses ShellApi;
      ShellExecute(handle,'open','c:\aaa.doc',nil,nil,SW_Show);
      

  3.   

    unit doc;interfaceuses Word97, Windows, SysUtils;Type
      TWinWord = class
      private
        { Private declarations }
        App: _Application;
        function fGetVisible: Boolean;
        procedure fSetVisible(Visible: Boolean);
      public
        { Public declarations }
        procedure NewDoc(Template: String);
        procedure GotoBook(Book: String);
        procedure InsertText(Text: String);
        procedure MoveRight(Count: integer);
        procedure Print;
        procedure UpdateFields;
        procedure SaveAs(Filename: String);
        procedure RunMacro(MacroName: String);
        Constructor Create;
        Destructor Destroy; override;
        property visible: Boolean Read fGetVisible Write fSetVisible;
      end;implementationconstructor TWinWord.Create;
    begin
      App := CoWordApplication.Create;
    end;destructor TWinWord.Destroy;
    var
      SaveChanges: OLEVariant;
      OriginalFormat: OLEVariant;
      RouteDocument: OLEVariant;
    begin
      SaveChanges :=  wdDoNotSaveChanges;
      OriginalFormat := unAssigned;
      RouteDocument := unAssigned;
      app.Quit(SaveChanges,OriginalFormat, RouteDocument);
      inherited Destroy;
    end;function TWinWord.fGetVisible: Boolean;
    begin
      result := App.Visible;
    end;procedure TWinWord.fSetVisible(Visible: Boolean);
    begin
      App.Visible := Visible;
    end;procedure TWinWord.GotoBook(Book: String);
    var
      What: OLEVariant;
      Which: OLEVariant;
      Count: OLEVariant;
      Name: OLEVariant;
    begin
    //  What := xlGoToBook;
      Which := unAssigned;
      Count := unAssigned;
      Name := Book;
      App.Selection.GoTo_(What, Which, Count, Name);
    end;procedure TWinWord.InsertText(Text: String);
    begin
      App.Selection.TypeText(Text);
    end;procedure TWinWord.NewDoc(Template: String);
    var
      DocTemplate: OLEVariant;
      NewTemplate: OLEVariant;
    begin
      DocTemplate := Template;
      NewTemplate := False;
      App.Documents.Add(DocTemplate, NewTemplate);
    end;procedure TWinWord.MoveRight(Count: integer);
    var
      MoveUnit: OLEVariant;
      vCount: OLEVariant;
      Extended: OLEVariant;
    begin
      MoveUnit := wdCell;
      vCount := Count;
      Extended := unAssigned;
      App.Selection.MoveRight(MoveUnit, vCount, Extended);
    end;procedure TWinWord.Print;
    begin
      OLEVariant(App).Printout;
    end;procedure TWinWord.UpdateFields;
    begin
      App.ActiveDocument.Fields.Update;
    end;procedure TWinWord.SaveAs(Filename: String);
    begin
      OLEVariant(App).ActiveDocument.SaveAs(Filename);
    end;procedure TWinWord.RunMacro(MacroName: String);
    begin
      App.Run(MacroName);
    end;end.
     
      

  4.   

    可以用TwordDocument控件,也可以用Apollo47(阿波罗)的方法。ShellExecute可以打开任何可以打开的文件。