加300大分,继续讨论OLE & word & Blob & Tstream(300分)

  • 主题发起人 主题发起人 面条
  • 开始时间 开始时间
??
ole1.copy? ole.copy的意思是将ole对象拷入clipboard,并不是什么ole的内容!
举个例子:

OleContainer1.Copy;
OleContainer2.Paste;

这样会将ole1的对象复制到ole2,当然内容也会复制过去的。
这个东西在word里如何粘贴呢?
 
如果能用Ole1.copy,
那么在word里就能用 editpastespecial
能把它粘贴成RTF格式。
我想得先设定clipboard为 Rtf格式。
可惜我的机器一 Ole1.Copy就出问题。
谁能用Ole1.copy的方法,就试一下,开个Word,
在Ole1.Copy后,看选择性粘贴里能不能粘贴成Rtf
格式,如果能,那么就可以解决这个问题
 
Sand:
好象不能,我试过。
其他选择性粘贴也不行,比如Text,Bitmap,Object
 
使用IDataObject.GetData可以获取数据, 而且可以获取好几种格式的
数据. IDataObject是通过剪贴板函数传递的. (好像WOrd不激活不行)
 
cmxu:
假设Word激活,如何把ole1.copy到剪切板上的内容,到WORD中paste出来?

把word中的内容选择一块copy,可以在OLE容器中Paste出来,什么也不做,马上
让OLE容器Copy,在WORD中PASTE,却不行?!
 
面条老兄,OLE只是用于在自己的媒体文档中显示其它应用程序数据。你所需要的功能应该使用COM自动化控制技术。这项技术直接在Word中合成数据,Word可以当成一个报表处理器使用,根本用不着生成硬盘文件。
 
非常感兴趣,跟踪
 
也许我们都应该好好研究一下MS OLE SDK,弄清楚那些接口对象有益无害
不建议使用clipboard,因为clipboard是公用的.未经应用程序使用者同意
直接往上面贴么事无异于强盗行径,而且这个过程是应该可以通过ole interface
实现的
希望大虾们继续研究,小弟洗耳恭听 )--(
 
BlobField->OLE和OLE到BlobField
我现在正在做一个小的MIS
用的是access的ole类型字段,存的是word文档
前面的讨论我基本上看了一遍
自己又弄了大半天,终于有些明白了

一开始我的字段内容是通过
OleContainer1.CreateObjectFromFile(OpenDialog1.filename)
从文件中获得的
保存到Ole字段用的是SeaSky的方法,用TMemoryStream
再从记录到Ole控件也同理

有一个问题是用OleContainer1.SaveAsFile(...)
保存的word文件用Word打开后会有许多乱码
这是因为Ole控件自己又加了许多信息,因此读不出来
所以最好不要这么用
至于用word类的方法我没试

以前没用过OLE,今天跟各位大侠学了点东西
心里很高兴
把自己的一些小经验讲出来,不要见笑
 
有兴趣,我的OLE知识太少了……
 
to cmxu
粘帖到Word中是可以的,但问题是:粘帖过来的东西成为Word中的一副图文框,
无法再对其进行修改!但用手工的办法切换粘帖,则就不是图文形式,可以对其
进行错误修改、行宽设置等!
我的问题是,如何使粘帖(程序自动完成)过来的内容不再是图文格式,而直接是
文字的形式?你的见识多,谈谈你的意见?!
 
呵呵,这问题还在讨论。
 
多人接受答案了。
 

Similar threads

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