Delphi操纵word的问题(100分)

  • 主题发起人 主题发起人 李璋琦
  • 开始时间 开始时间

李璋琦

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了下面代码,想生成一个表表,开始是标题,之后是表格最后是正文:
try
Template := EmptyParam;
NewTemplate := True;
ItemIndex := 1;
try
Wordapplication.Connect;
except
MessageDlg('Word may not be installed', mtError, [mbOk], 0);
Abort;
end;
Wordapplication.Visible := True;
WordApplication.Caption := 'Delphi automation';
{Create new document}
Template := EmptyParam;
NewTemplate := False;
WordApplication.Documents.Add(Template, NewTemplate);
WordDocument.ConnectTo(WordApplication.Documents.Item(ItemIndex));
WordDocument.Range.InsertAfter('报表'+#13);
WordDocument.Range.InsertAfter(#13);
WordDocument.Tables.Add(WordDocument.Content,11,2);
WordDocument.Tables.item(1).cell(1,1).Range.Text :='12345';
WordDocument.Range.InsertAfter('正文一:');
但’报表‘二字被后来插入的表格覆盖,’正文一‘却可以正常插入。如何解决?
 
..........
在加入一个回车不行吗?
 
WordDocument.Range.InsertAfter('报表'+#13);
WordDocument.Range.InsertAfter(#13);
兄台:这不是有两个回车拉吗?
 
对你的程序做如下修改,在win2000+D5下调试通过:
procedure TForm1.Button1Click(Sender: TObject);
var
Template,NewTemplate,ItemIndex:OleVariant;
start,stop : olevariant ;
myRange : range;
Begin
Template := EmptyParam;
NewTemplate := True;
ItemIndex := 1;
start := 3 ;
stop := 3 ;
try
Wordapplication.Connect;
except
MessageDlg('Word may not be installed', mtError, [mbOk], 0);
Abort;
end;
Wordapplication.Visible := True;
WordApplication.Caption := 'Delphi automation';
{Create new document}
Template := EmptyParam;
NewTemplate := False;
WordApplication.Documents.Add(Template, NewTemplate);
WordDocument.ConnectTo(WordApplication.Documents.Item(ItemIndex));
WordDocument.Range.InsertAfter('报表'+#13);
WordDocument.Range.InsertAfter(#13);
//-- 指定插入表的起始处 -------- //
myRange := WordDocument.Range(start,stop) ;
WordDocument.Tables.Add (myRange,11,2);
////////////////////////////////////////
WordDocument.Range.InsertAfter('正文一:');
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
550
import
I
后退
顶部