Blog信息 |
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3265742 建立时间:2005年6月6日 |

| |
[delpih编程]别人的一个小范例:delphi调用word 软件技术
吕向阳 发表于 2009/3/15 9:08:06 |
关于delphi自动生成word文档以及在文档中自动生成表格产生的问题
--------------------------------------------------------------------------------
id="Topic_"想把用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);
withWordApplication1.Selectiondo
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; |
|
|