Estou realizando um programa no qual desejo substituir palavras-chaves em um texto word pela entrada de dados no use form do excel. O problema é que estou tentando realizar o mesmo procedimento para imagens(substituir texto por imagem inserida no use form) mas está dando erro. alguém possui uma solução:
Segue o código usado:
Private Sub btnRelatorio_Click()
Set WORD1 = CreateObject("Word.Application")
WORD1.Visible = True
Set DOC = WORD1.Documents.Open("C:\Users\yuri.silva\Documents\Vitória\Teste 3\Modelo.docx") 'caminho para o relatorio modelo
With DOC
.Application.Selection.Find.Text = "#ATIV" 'palavras com #será sustituida pela informação do txtid
.Application.Selection.Find.Execute
.Application.Selection.Range = txtAtiv
.Application.Selection.Find.Text = "#DAT" 'palavras com #será sustituida pela informação do txtmotivo
.Application.Selection.Find.Execute
.Application.Selection.Range = txtData
'COMANDO PARA A IMAGEM
Dim wdRg As Object
Set wdRg = .Content
Dim pic As Object
wdRg.Find.Execute FindText:="#DESCRICAO"
wdRg.Text = ""
Set pic = wdRg.InlineShapes.AddPicture(Filename:=image1, _
LinkToFile:=False, _
SaveWithDocument:=True)
pic.LockAspectRatio = msoTrue
pic.Width = 150
pic.Height = 150
If Dir("C:\Relatorios\Relatorio exemplo.docx") <> "" Then 'comando para salvar o documento como o nome relatorio exemplo
Kill "C:\Relatorios\Relatorio exemplo.docx" 'comando para salvar o documento como o nome relatorio exemplo
End If
.SaveAs ("C:\Users\yuri.silva\Documents\Vitória\Teste 3\Relatorio\Relatorio exemplo.docx") 'comando para salvar o documento como o nome relatorio exemplo
'.Close
End With
WORD1.Quit
Set DOC = Nothing
Set WORD1 = Nothing
MsgBox ("Relatório gerado com sucesso!")
End Sub
Dessa forma consigo puxar um foto direto do pc, mas queria que puxasse do useform, alguém tem alguma solução?
Set pic = wdRg.InlineShapes.AddPicture(Filename:="C:\Users\yuri.silva\Documents\Vitória\Teste 3\2.jpg", _
LinkToFile:=False, _
SaveWithDocument:=True)
pic.LockAspectRatio = msoTrue
pic.Width = 150
pic.Height = 150