procedure TForm1.SpeedButton5Click(Sender: TObject);
var
  LinkToFile, SaveWithDocument:OleVariant;
begin
  // Selection.InlineShapes.AddPicture FileName:="F:\新建文件夹 (2)\BLOW4.JPG", _
  //      LinkToFile:=False, SaveWithDocument:=True
  odDoc.FileName :='F:\新建文件夹 (2)\BLOW4.JPG';
  if odDoc.Execute then
  begin
    LinkToFile:=False; SaveWithDocument:=True;
    app.Selection.InlineShapes.AddPicture(odDoc.FileName,LinkToFile,SaveWithDocument,EmptyParam);  end;
  {插入表格也类是 用range 可以控制插入的位置}
end;

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Buttons, Word97, OleServer;type
      TForm1 = class(TForm)
        App: TWordApplication;
        Doc: TWordDocument;
        SpeedButton1: TSpeedButton;
        SpeedButton2: TSpeedButton;
        SpeedButton3: TSpeedButton;
        SpeedButton4: TSpeedButton;
        SpeedButton5: TSpeedButton;
        odDoc: TOpenDialog;
        SpeedButton6: TSpeedButton;
        procedure SpeedButton1Click(Sender: TObject);
        procedure SpeedButton2Click(Sender: TObject);
        procedure SpeedButton3Click(Sender: TObject);
        procedure SpeedButton4Click(Sender: TObject);
        procedure SpeedButton5Click(Sender: TObject);
        procedure SpeedButton6Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
      APP.Connect;
      app.Visible := true;
    end;procedure TForm1.SpeedButton2Click(Sender: TObject);
    var  Index,sFile,bFlag:OleVariant;
    begin
      if odDoc.Execute then
      begin
        sFile:=odDoc.FileName;
        bFlag := False;
        App.Documents.Open(sFile,bFlag,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
        index :=1;
        Doc.ConnectTo(App.Documents.Item(index));
      end
      else
      begin
      ///Documents.Add DocumentType:=wdNewBlankDocument
    //    ShowVisualBasicEditor = True
      ///
        app.Documents.Add(EmptyParam,EmptyParam);
      end;
    end;procedure TForm1.SpeedButton3Click(Sender: TObject);
    begin
      Doc.PrintPreview;
    end;procedure TForm1.SpeedButton4Click(Sender: TObject);
    begin
      // Selection.TypeText Text:="uiyuiyuiyuiyuyuyui"
      ///这是我录的插入字符的宏
      // 思想:宏转换在 vb转换要容易些
        app.Selection.TypeText('dfjalfda;fdsajfla');end;procedure TForm1.SpeedButton5Click(Sender: TObject);
    var
      LinkToFile, SaveWithDocument:OleVariant;
    begin
      // Selection.InlineShapes.AddPicture FileName:="F:\新建文件夹 (2)\BLOW4.JPG", _
      //      LinkToFile:=False, SaveWithDocument:=True
      odDoc.FileName :='F:\新建文件夹 (2)\BLOW4.JPG';
      if odDoc.Execute then
      begin
        LinkToFile:=False; SaveWithDocument:=True;
        app.Selection.InlineShapes.AddPicture(odDoc.FileName,LinkToFile,SaveWithDocument,EmptyParam);  end;
      {插入表格也类是 用range 可以控制插入的位置}
    end;procedure TForm1.SpeedButton6Click(Sender: TObject);
    var
       append,FileName, Range, Item, Copies, Pages, PageType , ManualDuplexPrint
       , Collate, Background, PrintToFile , PrintZoomColumn, from,to_ ,
        PrintZoomRow, PrintZoomPaperWidth, PrintZoomPaperHeight:OleVariant;begin
    {'
    ' Macro3 Macro
    ' 宏在 2001-7-24 由 yj 录制
    '
        Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
            wdPrintDocumentContent, Copies:=1, Pages:="11", PageType:=wdPrintAllPages _
            , ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile _
            :=False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
            PrintZoomPaperHeight:=0
    }
      FileName:=''; Range:='wdPrintRangeOfPages'; Item:='wdPrintDocumentContent';
       Copies:=1; Pages:=2; PageType:='wdPrintAllPages';
            ManualDuplexPrint:=False; Collate:=True; Background:=True;        PrintToFile :=False; PrintZoomColumn:=0; PrintZoomRow:=0;
             PrintZoomPaperWidth:=0;
            PrintZoomPaperHeight:=0 ;
            append:=false;
            from:=2;
            to_:=2;
      app.PrintOut(Background,Append , Range, filename, from, to_, Item, Copies, Pages, PageType, PrintToFile, Collate, FileName, EmptyParam, ManualDuplexPrint)//, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, PrintZoomPaperHeight)  {(Background,EmptyParam,EmptyParam,filename,EmptyParam,
        EmptyParam,EmptyParam,EmptyParam,pages,EmptyParam,EmptyParam);}
    end;end.