如何使用Word的对象?(10分)

  • 主题发起人 主题发起人 xzs
  • 开始时间 开始时间
X

xzs

Unregistered / Unconfirmed
GUEST, unregistred user!
本人欲使用OleContainer1对TBlob字段进行转换,意欲转到Word中,如下
所示:
With Table1 Do
Begin
Open;
First;
Fs:= Table1.FieldByname('题型').AsString;
TBlobField(FieldByname('题目内容')).SaveToStream(OleStream);
OleStream.Position := 0;
OleContainer1.SizeMode := smScale;
OleContainer1.LoadFromStream(Olestream);
OleContainer1.SaveAsDocument('c:/temp/jj.doc');
1) OleContainer1.CreateObject(Myword,false);
MyWord.Insert(Fs);
MyWord.InsertPara;
MyWord.InsertObject(Filename:=Myword,Tab:=1);
Close;
End;
其中,1)出错。请问上述方法可否实现我的要求?
若能如何操作?若不行其它的方法是什么?
 
to CJ:
xzs的方法也是本人所需求的,能否发表一丝言论!言者无罪吗?!
 
1) OleContainer1.CreateObject(Myword,false);
应为:
OleContainer1.CreateObject('Word.Document.8',false);
其他也有问题,不过不是主要问题,都适应此而出的.
 
wangkun能把你的语句给描述一下吗?各参数的作用
 
先把Blob字段的内容存放在String变量之中,然后用OLE Automation 不要用
OLE Container,将字符串的内容写到Word文档中,最后保存就可以了。
 
茶叶蛋、menxin能否对此问题发表些见解!
 
请查看Delphi Demos中的例子Delph4/Demos/Activex/Oleauto/Word8
中间有比较详细的操作方法的例子.
不过也有很多要改的地方.
 
Hi, wangkun
我用的是D3, 但你是否也E-mail一份D4下Delph4/Demos/Activex/Oleauto/Word8
的实例呢?
Thanks.
 
Jams:
我可以发给你,但是我不知道可不可以在D3上使用哦!
(我不知道该例子是否有使用D4的专有特性)
 
to merlin
你说的方法对只有文本串的内容可以,这我也试过,但若其中包含嵌入的对象如公式
等,转换成字符串的方法就行不通了,你可以试一下,具体的我们可以再切蹉!等你
的结果!
 
to merlin
若我有一字段为:
Table1.TBlobField('题目内容') //{*用写字板得到的文档对象,但不是文件!*}
将如何转化为String类型呢?
好象Table1.TBlobField('题目内容').AsString;不行

在座诸位也可发表见解和看法!
 
agree with xzs
 
1)应当换为
mystr:="c:/my doc/myword.doc"
OleContainer1.CreateObjectfromfile(Mystr,false);
 
to merlin
//先把Blob字段的内容存放在String变量之中,然后用OLE Automation 不要用
//OLE Container,将字符串的内容写到Word文档中,最后保存就可以了。
关于这段话,能否给个例子步骤!?
 
多人接受答案了。
 

Similar threads

后退
顶部