Ola cimerio, Feliz Natal! Bom meu amigo, com relação ao seu pedido, encaminho alguns comandos que espero te ajudarem (Ficou grandinho mas nada difícil de entender). Eu mesmo há pouco tempo atrás precisei desses comandos e foi difícil conseguir chegar ao resultado pretendido. Espero realmente que te ajude e ajude outros colegas usuários aqui do fórum. Grande abraço e até mais. ;) PS: Se desejar posso te enviar o projeto por e-mail. :ninja: Por PPPGGL -Crie uma pasta e dentro dela coloque duas imagens com os seguintes nomes: brasil.png e semimagem.bmp (ou mude os nomes e/ou as extensões das imagens no código) -Crie um novo projeto. Salve-o na pasta criada anteriormente. -Insira um formulário e um botão de comando. -Não esqueça de fazer referência ao Microsoft Word 10.0 ou 11.0 Object Library -Clique duas vezes no botão de comando e insira o código: 'Por PPPGGL
Private Sub Command1_Click()
On Error GoTo Erro
'Declara um objeto como documento do Word
Dim objWord As New Word.Application
Dim s As InlineShape
Set objWord = New Word.Application
With objWord
.Documents.Add
.Visible = False 'Deixo invisível até executar todo o código para que não apareça toda a sequência de comando sendo desenvolvida. Lá embaixo deixo visível o documento já pronto.
.WindowState = wdWindowStateMaximize
Set s = objWord.Selection.InlineShapes.AddPicture(App.Path & "\brasil.png")
With s
.Select 'Seleciona a imagem
.Height = 120 'Aqui você altera a altura da imagem
.Width = 100 'Aqui você altera a largura da imagem
.ConvertToShape.CanvasCropBottom (1) 'Transforma o layout a imagem em relação ao texto
End With
With objWord.Selection
.ShapeRange.IncrementLeft -50# 'Aqui você altera a distância da imagem em relação a margem esqueda (se retirar o sinal "-" o valor passa a ser acrescido)
.ShapeRange.IncrementTop 50# 'Aqui você altera a distância da imagem em relação a margem superior
.Collapse 'Retira a seleção da imagem
.Font.Size = 12 'Estebelece fonte tamanho 12
.Font.Bold = True 'Estebelece fonte em negrito
.Font.Name = "Arial" 'Estebelece tipo da fonte
.ParagraphFormat.Alignment = wdAlignParagraphCenter 'Estebelece o alinhamento do parágrafo
.TypeText Text:="REPÚBLICA FEDERATIVA DO BRASIL" 'Seu texto
.TypeParagraph 'Acrescenta um parágrafo
.Application.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter 'Ativa o rodapé do documento
.ParagraphFormat.Alignment = wdAlignParagraphCenter 'Centralizo o rodapé do documento
.Font.Size = 12 'Estebelece fonte tamanho 12
.Font.Bold = True 'Estebelece fonte em negrito
.Font.Name = "Arial" 'Estebelece tipo da fonte
.TypeText Text:="Hoje é dia " & Format(Now(), "dd/mm/yy") & "," & " às " & Format(Now(), "hh:mm:ss") 'Insere texto no rodapé com data e hora do sistema
.Application.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument 'Deixo edição no rodapé e volto ao documento
End With
Erro:
If Err.Number = "5152" Then 'Tratamento do erro que ocorre quando não encontra a imagem na pasta (se quiser fazer um teste é só remover a imagem "brasil.png" da pasta e clicar no botão para gerar o documento; verá que a segunda imagem "semimagem.bmp" será colocada à direita da documento.)
Set s = objWord.Selection.InlineShapes.AddPicture(App.Path & "\semimagem.bmp")
With s
.Select 'Seleciona a imagem
.Height = 120 'Aqui você altera a altura da imagem
.Width = 90 'Aqui você altera a largura da imagem
.ConvertToShape.CanvasCropBottom (1) 'Transforma o layout a imagem em relação ao texto
End With
With objWord.Selection
.ShapeRange.IncrementLeft 390# 'Aqui você altera a distância da imagem em relação a margem esqueda (se retirar o sinal "-" o valor passa a ser acrescido)
.ShapeRange.IncrementTop 60# 'Aqui você altera a distância da imagem em relação a margem superior
.Collapse 'Retira a seleção da imagem
.Font.Size = 12 'Estebelece fonte tamanho 12
.Font.Bold = True 'Estebelece fonte em negrito
.Font.Name = "Arial" 'Estebelece tipo da fonte
.ParagraphFormat.Alignment = wdAlignParagraphCenter 'Estebelece o alinhamento do parágrafo
.TypeText Text:="AGORA A IMAGEM FICOU DESSE LADO >>>" 'Seu texto
.TypeParagraph 'Acrescenta um parágrafo
End With
End If
.Visible = True 'Deixo visível o documento já pronto
End With
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Set objWord = Nothing
End Sub