我现在的问题使用的方法:
http://community.csdn.net/Expert/topic/3040/3040090.xml?temp=.1641199
在此方法使用中遇到的乱码问题:
http://community.csdn.net/Expert/topic/3170/3170327.xml?temp=.7827875
相关问题涉及:
http://community.csdn.net/Expert/topic/3206/3206839.xml?temp=5.350894E-02
其中第三个贴子也是我发的,那个问题我绕个弯子解决了,
也就是说在龙卷风大哥代码s_ReadFile的最后应把:
********************************************
OLE1.SourceDoc =App.Path & "\cc.doc"
OLE1.Action = 1 'use the old action method
OLE1.SizeMode = vbOLESizeAuttoSize '调节对象大小使其正好充满OLE容器控件
*******************************************
改写成:
Open App.Path & "\cc.doc" For Input As #3
OLE3.ReadFromFile 3
Close #3
*************************************
我猜想因为OLE控件是以二进制格式存储和读取文档的,所以从Stream里读给cc.Doc得仍然是二进制的文档,然后OLE控件在自动将二进制的文档转换之后显示(ReadFromFile这一步),而在那之前的Doc文档仍是二进制的,这在我用OLE1.SourceDoc =App.Path & "\cc.doc"时遇到需要转换文档的提示是符合逻辑的(因为cc.Doc仍然是二进制的),
现在的问题是如何将OLE对象中存储的长二进制数据导出到Word文档并正确显示
http://community.csdn.net/Expert/topic/3040/3040090.xml?temp=.1641199
在此方法使用中遇到的乱码问题:
http://community.csdn.net/Expert/topic/3170/3170327.xml?temp=.7827875
相关问题涉及:
http://community.csdn.net/Expert/topic/3206/3206839.xml?temp=5.350894E-02
其中第三个贴子也是我发的,那个问题我绕个弯子解决了,
也就是说在龙卷风大哥代码s_ReadFile的最后应把:
********************************************
OLE1.SourceDoc =App.Path & "\cc.doc"
OLE1.Action = 1 'use the old action method
OLE1.SizeMode = vbOLESizeAuttoSize '调节对象大小使其正好充满OLE容器控件
*******************************************
改写成:
Open App.Path & "\cc.doc" For Input As #3
OLE3.ReadFromFile 3
Close #3
*************************************
我猜想因为OLE控件是以二进制格式存储和读取文档的,所以从Stream里读给cc.Doc得仍然是二进制的文档,然后OLE控件在自动将二进制的文档转换之后显示(ReadFromFile这一步),而在那之前的Doc文档仍是二进制的,这在我用OLE1.SourceDoc =App.Path & "\cc.doc"时遇到需要转换文档的提示是符合逻辑的(因为cc.Doc仍然是二进制的),
现在的问题是如何将OLE对象中存储的长二进制数据导出到Word文档并正确显示
是不是通过OLE控件存储的数据都是带有OLE文件头的,只有OLE控件才能读出数据,各位说是吗?
然后用OLE1.CreateEmbed filename就可嵌入该文件了.