怎样在delphi中灵活的操纵Word中的表格?(200分)

  • 主题发起人 主题发起人 popmenu
  • 开始时间 开始时间
P

popmenu

Unregistered / Unconfirmed
GUEST, unregistred user!
OleContainer,就可以原位激活,和在word里一样
 
请将你的具体要求贴上来,是用OleContainer,还是动态建立,是调出word实例,还
是在后台打开文件修改呢?
 
VBA(Ole Automation)

var
v: variant
begin
v := CreateObject('Word.Application.8');
v.Visible := true;
v.... //使用VBA, 具体见Word VBA的帮助
end;
 
应该这样,给你个例子:

...
var
Word, Doc, Table: OleVariant;
begin
{ 创建Word对象并运行Word }
Word := CreateOleObject('word.application');

Word.Visible := true; { 使Word可见 }
Doc := Word.ActiveDocument; { 取Word中当前的活动文档 }
Table := Doc.Tables.Item(1); { 取Doc中的第一个表格 }

{ 在Table的第1行第1列填入文字'Hello' }
Table.Cell(1, 1).Range.Text := 'Hello';
...

具体见Word VBA的帮助,它存放在下面的目录下:
C:/Program Files/Microsoft Office/Office/VBAWRD8.HLP
 
是动态创建Word实例,要求自己创建有特殊要求的表格!
 
用COM呀,可以直接发送VB FOR APP的代码之类的东西,有许多这样的控件
一个不错的叫:WORDREPORT,听名字就知道了吧?
 
当然还有了,3Word,No Problem
 
用如下方法创建一表格(10x4):

var Doc:OleVariant;
begin
Doc:=CreateOleObject('Word.Application');
Doc.Visible:=True;
Doc.Documents.Add;
Doc.ActiveDocument.Tables.Add(Doc.ActiveDocument.Range(0, 0),10,4);
end;
不知你的表格复杂到什么程度?
 
接受答案了.
 
多页时表头如何自动在下页生成?
 
后退
顶部