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.

解决方案 »

  1.   

    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;