Notifications
Clear all

Imprimir uma imagem em vba

11 Posts
4 Usuários
0 Reactions
2,464 Visualizações
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

Boa Noite Pessoal...
Venho pedir uma ajuda, estou montando um cadastro de produtos em VBA, consigo pesquisar, cadastrar e excluir imagem sem problemas...
A minha questão é na hora da impressão...
No botão imprimir...não sei como chamo a imagem que está em minha planilha...porque quando salvo, salvo somente o endereço onde está a imagem...
Quando vou imprimir, na célula onde deveria aparecer a imagem, aparece a palavra "Verdadeiro"... mas a imagem não aparece...
Não sei se com estas informações possam me ajudar... mas caso precisem posso enviar mais detalhes...é só pedirem as informações que precisam...

 
Postado : 10/04/2018 7:28 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Alexcorrea,

Bom dia!

Por gentileza, anexe um pequeno arquivo exemplo (com o layout exatamente igual ao arquivo original), aqui mesmo no fórum, compactado com .ZIP, simulando manualmente inclusive como deve ser o resultado esperado.

 
Postado : 11/04/2018 6:30 am
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

Boa Noite,

Abaixo estou passando as informações que preciso...com as imagens...

A Primeira imagem = Aqui é a parte do VBA onde carrego a imagem, consigo excluir, pesquiso por nome e cadastro a imagem...

A imagem dois = Este é o codigo que estou utilizando para imprimir, como pode ver ela irá fazer a impressão em uma planilha diferente da que estou salvando por isso fiz desta forma...

A imagem três = nesta parte é onde a imagem deveria aparecer na Panilha8, Cells (27,2)... só que quando realizo o codigo para aparecer a imagem, aparece apenas a palavra "VERDADEIRO" e não a imagem que salvei...

A imagem quatro = nesta imagem aparece como esta salvo em minha planilha... aparece apenas o caminho da imagem... queria que quando clicar no botão imprimir, ela apareceria na Planilha8

 
Postado : 11/04/2018 8:28 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Por fotos, nem com muita adivinhação.
Para imprimir a imagem desejada e preciso que a mesma seja "carregada" na planilha,antes ou durante o processo de impressão. Para isso deve utilizar o mesmo criterio (rotina) utilizado para exibir a imagem em seu formulario (creio que seja Load...()),logico adaptando-o ao endereço dessa nova planilha

 
Postado : 12/04/2018 5:06 am
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

Bom dia...
Difícil mesmo cara... sei o que quero mas dificil explicar...vou tentar novamente...

Tenho Um VBA que carrega minha imagem, quando salvo ela, salvo apenas o caminho onde ela está...
Salvo este caminho na Planilha3.
até ai beleza...
Pesquiso a imagem bem tranquilo...

Dim localimagem As String
Planilha3.Select
With Worksheets("fichatecnica").range("B:B")
Set c = .Find(txtpesquizaimagem.Value, LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
c.Activate
txtpesquizaimagem.Value = c.Value
localimagem = c.Offset(0, 22)
Me.Image1.Picture = LoadPicture(localimagem)
Else
MsgBox "PRODUTO NÃO LOCALIZADO"
End If
End With

A questão é que quero que esta imagem que pesquisei apareça em uma outra planilha no momento de imprimir...
Planilha8...
Não sei como chamar esta imagem...no botão imprimir...

 
Postado : 12/04/2018 8:42 am
(@basole)
Posts: 487
Reputable Member
 

Aproveitando o seu próprio código para inserir a imagem quando imprimir

Ao imprimir a macro localiza a imagem que esta selecionada na aba fichatecnica e insere na celula C4 da aba Planilha8

Coloque o codigo no modulo de EstaPasta_de_trabalho

Veja se é isso

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim localimagem As String
    Dim rngPic As Range
    Dim Pic As Shape
    
    Planilha8.Activate
    
    If Planilha3.txtpesquizaimagem.Text = "" Then
      MsgBox "Insira o nome do produto antes de imprimir!", 16, ""
     Cancel = True
      Exit Sub
    End If
    
    With Worksheets("fichatecnica").Range("B:B")
        Set c = .Find(Planilha3.txtpesquizaimagem.Value, LookIn:=xlValues, lookat:=xlPart)
        If Not c Is Nothing Then
            c.Activate
            Planilha3.txtpesquizaimagem.Value = c.Value
            localimagem = c.Offset(0, 22).Value
            
            Set rngPic = Planilha8.Cells(4, 3) ' * C4 <= ALTERE A CELULA QUE RECEBERÁ A IMAGEM NA PLANILHA8
            
            Set Pic = Planilha8.Shapes.AddPicture(localimagem, msoFalse, msoCTrue, rngPic.Top, rngPic.Left, rngPic.Width * 4, rngPic.Height * 6)
            Pic.LockAspectRatio = msoCTrue
        Else
            MsgBox "PRODUTO NÃO LOCALIZADO"
        End If
    End With

End Sub
 
Postado : 12/04/2018 9:38 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Alexcorrea,

Boa tarde!

Sei que você ainda é novato no fórum, todavia, solicitamos, por gentileza, ao inserir código VBA aqui no fórum, utilizar a ferramenta CODE existente logo no início da caixa de mensagens.

 
Postado : 12/04/2018 12:16 pm
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

Boa tarde...

Estou quase la´....
Agora aparece pra mim o nome do produto e não a imagem no momento que vou imprimir...
Acredito que este código que me enviou esta correto... alguma coisa que estou fazendo de errado...
ele esta chamando o produto digitado na txtlocalizarimagem e não a imagem...

e desculpa por ter enviado o código de forma errada...

 
Postado : 12/04/2018 1:01 pm
(@basole)
Posts: 487
Reputable Member
 

Bom eu considerei que o endereço/caminho da imagem esta na coluna X => c.Offset(0, 22).Value, pois o find procura na coluna B

A variavel localimagem = c.Offset(0, 22).Value está carregando o valor de X quando encontrado.

E a linha que insere a imagem é esta

Set Pic = Planilha8.Shapes.AddPicture(localimagem, msoFalse, msoCTrue, rngPic.Top, rngPic.Left, rngPic.Width * 4, rngPic.Height * 6)

Dê uma revisada no codigo caso não encontre nada de anormal disponibilize seu arquivo ou um modelo com alguns dados ficticios

 
Postado : 12/04/2018 1:26 pm
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

Basole
Dê uma revisada no codigo caso não encontre nada de anormal disponibilize seu arquivo ou um modelo com alguns dados ficticios

Vocês são realmente os caras...

Eu coloquei na coluna errada....

Perfeito... funcionando 100%

PARABÉNS E OBRIGADO A VOCÊ E AO GRUPO....

 
Postado : 12/04/2018 1:57 pm
(@alexcorrea)
Posts: 0
New Member
Topic starter
 

PARABENS NOVAMENTE AOS MEMBROS DO GRUPO E POR AQUELES QUE ME AJUDARAM...

OBRIGADO E SUCESSO A TODOS...

 
Postado : 12/04/2018 1:59 pm