-
Total de itens
3 -
Registro em
-
Última visita
Posts postados por Jefferson Inácio
-
-
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 EXCELUnload UserForm
INICIAR.ShowEnd Sub
-
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 StringOn Error Resume Next
Set wd = GetObject(, "Word.Application")
If wd Is Nothing Then
Set wd = CreateObject("Word.Application")
End If
On Error GoTo 0Set 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 Withwd.Visible = True
wdocSource.Close SaveChanges:=FalseSet wdocSource = Nothing
Set wd = NothingEnd Sub
AUTO PREENCHIMENTO
em VBA
Postado · Editado por Jefferson Inácio
Brow, eu aprendi muito com esse vídeo tutorial:
https://www.youtube.com/watch?v=9O0VjMsGA-M&list=PL-3IEVbCHUDdDqLEYyHntPQ97SqLw697q
São várias aulas, procura a que vai ensinar como criar o botão Localizar, ele faz uma busca te mostrando os dados da planilha e também deixa o espaço para se cadastrar um novo contrato.