none
Converter objeto ADODB.Stream para Word.Application RRS feed

  • Question

  • Prezados,

                   Estou fazendo uma aplicação para guardar arquivos word em uma base de dados mysql. Uso o código abaixo que funciona corretamente. Mas queria que, ao invés de salvar o arquivo no computador do usuário, ele abrisse direto o arquivo Word.

                   Ou seja, ao invés de usar a linhas mystream.SaveToFile("C:\Arquivos\Documento1.doc") junto com doc = app.Documents.Open("C:\Arquivos\Documento1.doc")  queria usar algo como doc = CType(mystream,Word.document).

                    Teria alguma maneira de fazer isto?

                    Obrigado pela ajuda.

     

    Dim conexao As ADODB.Connection

            Dim rst As ADODB.Recordset

     

            'Estabelece a conexao com o servidor

            conexao = New ADODB.Connection

            conexao.CursorLocation = ADODB.CursorLocationEnum.adUseClient

            conexao.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};database=mybdta;user=root;password=senha;server=comp0526;option=20499"

            conexao.Open()

     

     

            'Estebelece a propriedades do RecordSet

            rst = New ADODB.Recordset

            rst.CursorType = ADODB.CursorTypeEnum.adOpenStatic

            rst.LockType = ADODB.LockTypeEnum.adLockOptimistic

            rst.ActiveConnection = conexao

     

            'Executa a query

            rst.Open("SELECT arquivo_nome, arquivo_dado FROM mybdta.arquivos WHERE arquivo_nome = 'Figura4'")

     

    'Cria a variável para guardar e converter o arquivo binário

            Dim mystream As ADODB.Stream

            mystream = New ADODB.Stream

            mystream.Type = ADODB.StreamTypeEnum.adTypeBinary

     

     

    'Abre o arquivo e salva na máquina local

            mystream.Open()

            mystream.Write(rst.Fields("arquivo_dado").Value)

    mystream.mystream.SaveToFile("C:\Arquivos\Documento1.doc")

     

    'Abre o documento Word

            Dim app as Word.application

            Dim doc as Word.Document

     

            doc = app.Documents.Open("C:\Arquivos\Documento1.doc")

     

             App.visible = true

    • Moved by Sandro PereiraMVP Friday, August 19, 2011 4:07 PM Word/C# Question (From:BizTalk Server)
    Monday, April 18, 2011 7:02 PM

All replies

  • Olá Fernando,

    Creio que o melhor seria colocares esta pergunta num destes forums:


    Sandro Pereira Blog: http://sandroaspbiztalkblog.wordpress.com/ Please mark as answered if this answers your question.
    Tuesday, August 9, 2011 2:52 PM