怎样用delphi控制word在页的最后增加一页,然后再写入一些内容(100分)

  • 主题发起人 主题发起人 阿李
  • 开始时间 开始时间

阿李

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用delphi控制word在页的最后增加一页,然后再写入一些内容:
我现在用word做了一个模板,只有一页,我用delphi的severs上的组件控制word打开后
要增加一页,然后将第一页中的内容复制到第二页,再把一些内容替换掉,流程就是:
1。找开模板文件
2。增加一页
3。(此时有两页,第一页为我的模板文件)将第一页的内容复制到第二页
4。查找替换掉一些内容
这应该怎么实现
 
1.自己试试看吧,用Open就行了.

2.
procedure AddNewPage(WrdApp: TWordApplication);
var
InsType: OleVariant;
begin
InsType := wdPageBreak;
GotoDocEnd(WrdApp);
WrdApp.Selection.InsertBreak(InsType);
end;

// go to doc end
procedure GotoDocEnd(WrdApp: TWordApplication);
var
WdUnit, WdCount, wdExtend: OleVariant;
begin
WdUnit := wdScreen;
wdCount := 10;
wdExtend := EmptyParam;
while true do
if WrdApp.Selection.MoveDown(WdUnit, wdCount, wdExtend) = 0 then break;
end;

3.用WordApplication.Selection.Copy;
WordApplication.Selection.Paster
流程上应该是这样的:
1.打开文件
2.WordApplication.Selection.WholeStory // 全选
3.WordApplication.Selection.Copy // copy
4.WordApplication.Selection.MoveLeft // 去掉选择区域
5.GotoDocEnd // 移动到文档的最后
6.AddNewPage // 添加新的一页
7.WordApplication.Seleciton.Paste // 粘贴



 
我发现大家都喜欢用selection阿,用range的很少,但rang速度快多了,
像楼上的可以这样来用:
.myran:=activedocument.range // 全选
3.myran.Copy // copy
5.myran.collapse(wdCollapseEnd) // 移动到文档的最后
6.AddNewPage // 添加新的一页
7.myran.Paste // 粘贴
个人意见,供参考
(我做过测试,对于与位置相关的操作range快30%左右

 
关注。。。。
 
后退
顶部