我想在VB中读取Acess中的OLE字段,OLE的类型是WORD,程序如下:
dim conn as adodb.connection
dim rs as adodb.recordset
dim wapp,wbk as object
set wapp=createobject("word.application")
conn.open "dsn='sql'","",""
rs.open "select * from oletable",conn
rs.movefirst
set wbk=rs.fields("ole")
之后就进行对wbk的操作
但是程序不能识别wbk的类型
document的属性、函数一个都不能用
也许是我的思路有问题
不知哪位大侠肯能拉小弟一把,上面催得很急,马上就要交工了
拜托,拜托.................

解决方案 »

  1.   

    我也觉得这是一个可行的方法,但是怎么将数据库里的OLE数据赋给二进制数组?
    我用直接赋值,结果得到一些乱码,文件大小也增加了一倍,不知道是怎么回事
      

  2.   

    Dim str As Byte()
      Dim str_temp As String
                    Dim i As Integer
                    Dim bi As FileStream
                    Dim si As Stream
                    If File.Exists(My_folder + "\" + NAME) = True Then
                        File.Delete(My_folder + "\" + NAME)
                        bi = File.Create(My_folder + "\" + NAME)  '  FileOpen(1, str_temp, OpenMode.Binary)
                    Else
                        bi = File.Create(My_folder + "\" + NAME)  '  FileOpen(1, str_temp, OpenMode.Binary)
                    End If
                    Try
                        bi.Write(str, 0, str.Length)
                    Catch
                    End Try
                    bi.Close()
      

  3.   

    改成WORD文档就行了
    生成文件后再处理吧
    http://blog.csdn.net/online/archive/2004/08/19/78622.aspx
      

  4.   

    http://office.9zp.com/dispbbs.asp?boardID=15&ID=2162