Estou desenvolvendo uma planilha do Excel muito automática para um condomínio e estou na parte de fazer os recibos dos pagamentos. Nessa parte (o que eu pensei) ela deve fazer uma copia de um recibo "modelo" na área de trabalho do síndico e depois preencher as informações dos valores da planilha, no texto base e salvar. Com a ajuda da internet desenvolvi esse código utilizando indicadores no word nos pontos de inserção dos valores! Contudo, estou encontrando dificuldade pois cada vez que eu vou executar aparece o erro 424 (O objeto é obrigatório) apontando a linha em negrito! já tentei varias versões mas estou sem ideias de como consertar este problema!
'Determinar nome do desktop'
Dim caminho_recibo As String
caminho_recibo = VBA.Environ("USERPROFILE")
'Copiar modelo em novo documento (para preservar o outro e ser usado novamente)'
VBA.FileCopy caminho_recibo & "\Documents\Modelos Personalizados do Office\Recibos.docx", _
caminho_recibo & "\DESKTOP\Recibos Janeiro.docx"
'Abrir o novo documento'
Dim Word As Object
Set Word = CreateObject("Word.Application")
Word.Documents.Open caminho_recibo & "\DESKTOP\Recibos Janeiro.docx"
Word.Visible = True
'Declarações de objetos'
Dim sindico As String
Dim proprietário As String
Dim cpf As String
Dim valor As String
Dim valorext As String
Dim mes_ano As String
Dim dia_mes_ano As String
'Declaração de valor do objeto'
sindico = ThisWorkbook.Sheets(1).Range("H5").Value
proprietário = ThisWorkbook.Sheets(1).Range("D6").Value
cpf = ThisWorkbook.Sheets(1).Range("E6").Value
valor = ThisWorkbook.Sheets(1).Range("G26").Value
valorext = ThisWorkbook.Sheets(1).Range("H26").Value
mes_ano = ThisWorkbook.Sheets(1).Range("F23").Value
dia_mes_ano = ThisWorkbook.Sheets(1).Range("F24").Value
*E também se alguém conhecer uma maneira melhor de transmitir dados que estão no excel para word, sou todo ouvidos (os dados não estão na mesma lista, tabela e alguns não estão nem na mesma planilha e no word é um formato de texto com os valores no meio)
Pergunta
Gabriel_02
Olá povo inteligente! preciso de ajuda
Estou desenvolvendo uma planilha do Excel muito automática para um condomínio e estou na parte de fazer os recibos dos pagamentos. Nessa parte (o que eu pensei) ela deve fazer uma copia de um recibo "modelo" na área de trabalho do síndico e depois preencher as informações dos valores da planilha, no texto base e salvar. Com a ajuda da internet desenvolvi esse código utilizando indicadores no word nos pontos de inserção dos valores! Contudo, estou encontrando dificuldade pois cada vez que eu vou executar aparece o erro 424 (O objeto é obrigatório) apontando a linha em negrito! já tentei varias versões mas estou sem ideias de como consertar este problema!
__________________________________________________________________________________________________________________________________________________________________________________________________
Sub recibo()
'Determinar nome do desktop'
Dim caminho_recibo As String
caminho_recibo = VBA.Environ("USERPROFILE")
'Copiar modelo em novo documento (para preservar o outro e ser usado novamente)'
VBA.FileCopy caminho_recibo & "\Documents\Modelos Personalizados do Office\Recibos.docx", _
caminho_recibo & "\DESKTOP\Recibos Janeiro.docx"
'Abrir o novo documento'
Dim Word As Object
Set Word = CreateObject("Word.Application")
Word.Documents.Open caminho_recibo & "\DESKTOP\Recibos Janeiro.docx"
Word.Visible = True
'Declarações de objetos'
Dim sindico As String
Dim proprietário As String
Dim cpf As String
Dim valor As String
Dim valorext As String
Dim mes_ano As String
Dim dia_mes_ano As String
'Declaração de valor do objeto'
sindico = ThisWorkbook.Sheets(1).Range("H5").Value
proprietário = ThisWorkbook.Sheets(1).Range("D6").Value
cpf = ThisWorkbook.Sheets(1).Range("E6").Value
valor = ThisWorkbook.Sheets(1).Range("G26").Value
valorext = ThisWorkbook.Sheets(1).Range("H26").Value
mes_ano = ThisWorkbook.Sheets(1).Range("F23").Value
dia_mes_ano = ThisWorkbook.Sheets(1).Range("F24").Value
'Mandar valores para word'
Copy2word "SindicoField", sindico
Copy2word "PropField", proprietário
Copy2word "CpfField", cpf
Copy2word "ValorFiel", valor
Copy2word "ValorExtField", valorext
Copy2word "Mês_e_anoField", mes_ano
Copy2word "dia_mês_e_anoField", dia_mes_ano
doc.Close
wd.Quit
End Sub
Sub Copy2word(BookMarkName As String, Text2Type As String)
'Determinar função copy2word'
wd.Selection.GoTo What:=wdGoToBookmark, Name:=BookMarkName
wd.Selection.TypeText Text2TypeSub
End Sub
__________________________________________________________________________________________________________________________________________________________________________________________________
*A biblioteca do word está conectada
*E também se alguém conhecer uma maneira melhor de transmitir dados que estão no excel para word, sou todo ouvidos (os dados não estão na mesma lista, tabela e alguns não estão nem na mesma planilha e no word é um formato de texto com os valores no meio)
Desde já, Muito Obrigado!!!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.