想把用StringGrid产生的表格内容,全部自动导入到一个新文档中,在word中自动生成的表格中填充内容
由于StringGrid进行了表现形式的调整,合并了部分行、列
所以需要对word中的表格也要进行这些合并
现在有以下几个问题:
1、由于有多个StringGrid表格形式,所以需要对生成的word文档中加入多个表格,我希望每一个表格都位于新开始的一页上,
就像在word中有个操作:“插入-》分隔符(下一页)”一样,在delphi中如何用代码控制?
2、自动生成的表格,需要合并单元格或者行、列,不知道怎么用delphi实现?
3、我希望在程序中点击按钮“导出文档”后,就自动弹出一个对话框,类似于windows的下载对话框一样的,询问用户把这个文档存放在什么地方并可以自己取名字,而生成文档、插入表格、填充内容等都是在后台完成的,用户看不见,不知道怎么做?我现在是调用word后,word被打开后,自动生成了表格,然后往表格里面填充内容,所有的操作都是在前台可见的,这样用户会看着word文档一直在闪烁,会看到表格的每一项内容顺序的填充下去,界面不是很友好。下面是我用WordApplication和WordDocument控件写的代码:
  try
    WordApplication1.Connect ;
  except
    Beep;
    MessageDlg('不能生成文档,请确认是否安装了Word !',mtError,[mbOK],0);
    Abort;
  end;
  //显示Word
  WordApplication1.Visible  := true ;  // 如果是自动存成文档,是否应该是false?  //给调用Add函数使用的实参赋值
  Template:=EmptyParam;
  NewTemplate:=False;
  DocumentType:=wdNewBlankDocument;
  Visible:=true;
  DefaultTableBehavior  := true ;
  WordApplication1.Documents.Add(Template,NewTemplate,DocumentType,Visible) ;
  //连接到新建的文档
  itemIndex:=1;
  WordDocument1.ConnectTo(WordApplication1.Documents.Item(itemIndex));  //文档另存为
  WordDocument1.SaveAs(fileName);
  with WordApplication1.Selection do
  begin
      Font.Size:=20;
      Font.Bold:=2;
      Paragraphs.Alignment:=wdAlignParagraphCenter;
      TypeText('特性表');
      TypeParagraph; //换行      // 在指定文档中插入表格
      Font.Size := 8 ;
     Font.Bold := 1 ;
     TypeParagraph; //换行
     WordTable :=  WordDocument1.Tables.Add(
                                      WordApplication1.Selection.Range,
                                      WordRows,
                                      WordCols,
                                      DefaultTableBehavior,
                                      AutoFitBehavior) ;
  end;
4、程序里里面有个几个chart的图显示在同一个form中,怎么把这个显示界面抓图下来,然后可以自动插入到word表格新的一页中?
这样所有的表格、图最后就相当于自动生成一个报告一样的东西!
高分求教!回答的越细致越好,最后附上代码!谢谢!

解决方案 »

  1.   

    我告诉你吧 嘿嘿~~~你要学会用 Word的宏 嘿嘿想用什么功能,然后录下来,在Word中打开VBA编辑器,看看宏的内容,你就知道怎么做了这些东东都是 Word VBA的COM调用了,和Delphi没什么关系
      

  2.   

    WordApplication1.Visible := false;这样不就在后台运行了 
      

  3.   

    抓图可以以窗体形式抓,还可以把chart导出为图片,然后再用Word COM调用的方式插入,最后清理零时文件
      

  4.   

    如果是4个chart同时显示在一个页面上,除了窗体抓图以外,还有没有其他方式来将这4个chart同时输出到一页word文档上呢?
      

  5.   

    一帮的chart组件都有图形导出功能吧,导出为图片,然后插入word就可以了怎么插入word可以看word宏自己生成的VBA