Ir para conteúdo
Fórum Script Brasil

Jefferson Inácio

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Posts postados por Jefferson Inácio

  1. Também não entendi, mas tenta isso: (o Unload fecha a janela que vocês especificar e o .Show abre a janela que você desejar).

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)


        If CloseMode = vbFormControlMenu Then
        
         
            'SALVAR ARQUIVO
      
          ThisWorkbook.Save
            
          
            'SAIR DO EXCEL

    Unload UserForm
    INICIAR.Show

    End Sub

  2. Ola, sou novato por aqui e ainda aprendendo os segredos do VBA...

    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 `Exportar$`"


        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

    Capturar1.PNG

    Capturar2.PNG

    Capturar3.PNG

×
×
  • Criar Novo...