我就是想在WORD的表中插入对应数据库中的记录值也就是一个替换的问题,谁知道的给点代码吧~~~

解决方案 »

  1.   

    uses
      comobj, word97;procedure TForm1.InsertWordBtnClick(Sender: TObject);
    var
      WordHandle, DocHandle: OleVariant;
      BookMarkName: string;
    begin
        try
          WordHandle := CreateOleObject('Word.Application');
        except
        end;
      WordHandle.Visible := True;  DocHandle := WordHandle.Documents.Add(Template := 'C:\Aaa.dot', NewTemplate := False);                         //事先建好的文档模板  try
        BookMark_Name := '1';//事先在要插入的地方标上书签book1
        DocHandle.Application.Selection.goto(What := wdGoToBook, Name := BookMarkName);
        DocHandle.Application.Selection.Text := '这是替换1的文字';    BookMarkName := '2';
        DocHandle.Application.Selection.goto(What := wdGoToBook, Name := BookMarkName);
        DocHandle.Application.Selection.Text := '这是替换2的文字';
      except
      end;
                                      //另存文件
      DocHandle.SaveAs(FileName := 'c:\liuziran.doc', FileFormat := wdFormatDocument, AddToRecentFiles := False);
    end;
      

  2.   

    谢谢这个替换的功能我已经做好现在我想在程序中直接控制WORD打印应该怎么做????
      

  3.   

    有了文件还不好打印吗?
    最简单的方法 winexec('cmd /c dir c:\liuziran.dot>prn',0);
    注意在打印之前sleep N个毫秒,因为保存文件需要时间
      

  4.   

    更正:
    uses ShellAPI;
     shellexecute(0,'print','c:\liuziran.doc',nil,nil,sw_hide);