MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Interface entre excel e word(mala-direta) via vba

    Compartilhe

    Jefferson Inácio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 25/09/2015

    Interface entre excel e word(mala-direta) via vba

    Mensagem  Jefferson Inácio em Sex 25 Set 2015, 05:26

    Ola, sou novato por aqui e ainda aprendendo os segredos do VBA... Desculpem, sei que não é o lugar certo, mas estava tentando fazer no Access e acabei passando para o Excel.

    Criei uma mala direta num documento Word que receberá dados de uma planilha do Excel. Quando abro o documento word manualmente recebo a seguinte mensagem "Quando este documento for aberto o seguinte comando SQL sera executado: SELECT*FROM `Exportar`" ao clicar em sim, os dados atualizam perfeitamente. Criei um código no Excel(VBA) para abrir o arquivo logo apos efetuar a transferência de dados, ao executar esse código o documento Word abre, então não recebo mais a mensagem acima mas resolvi depurar o código, então o código mostra essa janela (Captura 1), eu dando ok, ele abre o Word, mas dá erro dizendo que o Word não pode abrir a fonte de dados (Captura2) e marca na depuração, a área em amarelo no código (Captura 3).

    Não quero que abra essa caixa na Captura 2 e gostaria de saber se alguém saber desse da Captura 3.

    Segue o código atual que estou usando para abrir o documento:



    Private Sub BOTÃO_ABRIR_Click()

    'Com este pequeno trecho de código , criamos uma instância para o objeto Word e depois usando VBA
    'abrimos o documento Novo Contrato Jeff's Festas.docx que esta no diretório C:\Users\Jeff's\Desktop\Novo Contrato\Novo Contrato Jeff's Festas.docx

    'Dim word As New word.Application

    'With word
    '   .Documents.Open "C:\Users\Jeff's\Desktop\Novo Contrato\Novo Contrato Jeff's Festas.docx"
    '   .Visible = True
    '   .WindowState = wdWindowStateMaximize
    'End With

    'Fechamos a tela Sucesso

       Dim wd As Object
       Dim wdocSource As Object
       Dim strWorkbookName As String

       On Error Resume Next
       Set wd = GetObject(, "Word.Application")
       If wd Is Nothing Then
           Set wd = CreateObject("Word.Application")
       End If
       On Error GoTo 0

       Set wdocSource = wd.Documents.Open("C:\Users\Jeff's\Desktop\Novo Contrato\Novo Contrato Jeff's Festas.docx")

       strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name

       wdocSource.MailMerge.MainDocumentType = wdFormLetters

       wdocSource.MailMerge.OpenDataSource _
               Name:=strWorkbookName, _
               AddToRecentFiles:=False, _
               Revert:=False, _
               Format:=wdOpenFormatAuto, _
               Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _
               SQLStatement:="SELECT * FROM `BancodeCadastro$`"


       With wdocSource.MailMerge
           .Destination = wdSendToNewDocument
           .SuppressBlankLines = True
           With .DataSource
               .FirstRecord = wdDefaultFirstRecord
               .LastRecord = wdDefaultLastRecord
           End With
           .Execute Pause:=False
       End With

       wd.Visible = True
       wdocSource.Close SaveChanges:=False

       Set wdocSource = Nothing
       Set wd = Nothing

    End Sub


    SEGUEM AS IMAGENS:

    [Você precisa estar registrado e conectado para ver esta imagem.]
    [Você precisa estar registrado e conectado para ver esta imagem.]
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Ter 22 Ago 2017, 02:43