如何控制word中的表格(50分)

  • 主题发起人 主题发起人 HuangSkar
  • 开始时间 开始时间
H

HuangSkar

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi中servers上的控件WordApplication来在word
中创建一个表格,表头和表格中的内容都从数据库里取,表
的列数大概是10列,其中有的字段的长度较短,比如姓名,而
有一些字段的长度较长,比如地址,但是我用WordApplication
生成的表格都是等宽的,请问用什麽办法可以控制WordApplication
来根据内容自动调整表格的宽度。
 
DefaultTableBehavior := wdWord9TableBehavior;
AutoFitBehavior := wdAutoFitContent;//根据内容自动调整表格的宽度
Pars.Add(EmptyParam);
ARange := Pars.Item(n).Range;
doc.Tables.Add(aRange, 2, 10, DefaultTableBehavior, AutoFitBehavior);//2-row,10-col
 
linsb大虾,
我是用WordApplicaton控件,不是用CreateOleObjectd的方法,
我将下面这句放在程序里编译不过:
var
temp1,temp2:OleVariant;
begin
Temp1 := wdWord97ableBehavior;
Temp2 := wdAutoFitContent;
CreateANewWordFile;//这是我自己写的一个建一个新的word文件的过程
WordApplication.Selection.TypeParagraph;
WordApplication.activedocument.Tables.Add(WordApplication.selection.range,2,10,Temp1,Temp2);
end;
但是在Delphi5中编译通不过。
提示:wdWord97ableBehavior,wdAutoFitContent这两个
常量找不到。


 
wdWord97ableBehavior->wdWord9TableBehavior;
uses
............,word2000,
不是word97
环境:d5,word2000
这段是我的应用程序中的一段,没有问题!
 
linsb,
我uses了word2000,然后 编译以下语句:
var
temp1,temp2:OleVariant;
begin
Temp1 := wdWord97ableBehavior;
Temp2 := wdAutoFitContent;
CreateANewWordFile;//这是我自己写的一个建一个新的word文件的过程
WordApplication.Selection.TypeParagraph;
WordApplication.activedocument.Tables.Add(WordApplication.selection.range,2,10,Temp1,Temp2);
end;
编译器说Add方法有太多的参数
 

Temp1 := wdWord97ableBehavior
改:
Temp1 := wdWord9TableBehavior;//word2000
你的TWordApplication可能是老版本--d5应是Update pack1,否则在d6下编译!
 
估计是我的WordApplication是老版本,需要升级以下,
多谢linsb!
 
后退
顶部