Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Carregar Imagem em Userform

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Charlie-81
Colaborador
Colaborador
Mensagens: 10
Registrado em: Dom Set 23, 2012 3:16 am

Carregar Imagem em Userform

Mensagem por Charlie-81 »

Olá, bom dia.

Por ser minha primeira postagem, gostaria de me apresentar: Utilizo o nick de Charlie-81, sou homem, moro em Goiânia. Também sou usuário assíduo do Planilhando (outro fórum de discussões), a maioria aqui deve conhecer. Venho atrás de uma resposta que procuro há tempos e ainda não encontrei. Espero que seja aqui.


Bom, preciso atender a uma necessidade que tenho em carregar uma imagem (por exemplo uma logomarca) em um controle de imagem de um formulário. Encontrei algo na net que chegou muito próximo do que preciso, porém, a imagem que busco somente é carregada no formulário na hora, quando fecho o formulário e o abro novamente a imagem não está mais carregada. Preciso que ela fique sempre carregada.
Anexos
Carregar Imagem em Userform.zip
(11.59 KiB) Baixado 3074 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Carregar Imagem em Userform

Mensagem por joseA »

Salve o caminho da imgem em uma célula.


Charlie-81
Colaborador
Colaborador
Mensagens: 10
Registrado em: Dom Set 23, 2012 3:16 am

Re: Carregar Imagem em Userform

Mensagem por Charlie-81 »

joseA escreveu:Salve o caminho da imgem em uma célula.

Não consegui... caso possa ajudar, serei grato.


Avatar do usuário
Vega
Colaborador
Colaborador
Mensagens: 26
Registrado em: Sáb Ago 18, 2012 7:46 pm

Re: Carregar Imagem em Userform

Mensagem por Vega »

Charlie,

Basta inserir, no formulário, o controle Image e clicar com o borão direito para ter acesso as propriedades do controle. Aí é só escolher a imagem na opção Pictures [...].

Dessa forma a imagem vai ficar sempre no controle do formulário, mesmo que seja deletada do computador.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Charlie-81
Colaborador
Colaborador
Mensagens: 10
Registrado em: Dom Set 23, 2012 3:16 am

Re: Carregar Imagem em Userform

Mensagem por Charlie-81 »

Caro Vega... Boa noite.

Eu entendi sua explicação. O negócio que eu quero é exatamente o contrário. Quero que a pessoa que for utilizar minha aplicação, possa decidir por qual imagem colocar no formulário. Por isso a necessidade de poder trocar a imagem. Eu entendi o raciocínio do joseA, acho que ele sugeriu que eu salve o caminho da imagem em uma célula de alguma planilha e o caminho da imagem no form seja buscado nesta célula, desta forma, mesmo que a pessoa escolhesse uma imagem em su PC, estaria salvo o caminho dela e a imagem seria carregada no form, bom, pelo menos entendi assim. De qualquer forma, não consigo fazer o que ele sugeriu. Ainda sou barriga verde em vba.


Avatar do usuário
Rafael Monteiro
Consultor
Consultor
Mensagens: 277
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Sorocaba - SP
Contato:

Re: Carregar Imagem em Userform

Mensagem por Rafael Monteiro »

Charlie,

Tem esse exemplo que foi desenvolvido pelo Ricardo Horta, isso com certeza irá te ajudar!

Abs.
Anexos
Banco_de_Dados-RicardoHorta.Net-v01.zip
Form com imagem
(22.86 KiB) Baixado 3068 vezes


Charlie-81
Colaborador
Colaborador
Mensagens: 10
Registrado em: Dom Set 23, 2012 3:16 am

Re: Carregar Imagem em Userform

Mensagem por Charlie-81 »

Rafael escreveu:Charlie,

Tem esse exemplo que foi desenvolvido pelo Ricardo Horta, isso com certeza irá te ajudar!

Abs.
Acredito sim que ajudaria Rafael, só não sei como colocar em prática.


Avatar do usuário
Vega
Colaborador
Colaborador
Mensagens: 26
Registrado em: Sáb Ago 18, 2012 7:46 pm

Re: Carregar Imagem em Userform

Mensagem por Vega »

Charlie-81 escreveu:Caro Vega... Boa noite.

Eu entendi sua explicação. O negócio que eu quero é exatamente o contrário. Quero que a pessoa que for utilizar minha aplicação, possa decidir por qual imagem colocar no formulário. Por isso a necessidade de poder trocar a imagem. Eu entendi o raciocínio do joseA, acho que ele sugeriu que eu salve o caminho da imagem em uma célula de alguma planilha e o caminho da imagem no form seja buscado nesta célula, desta forma, mesmo que a pessoa escolhesse uma imagem em su PC, estaria salvo o caminho dela e a imagem seria carregada no form, bom, pelo menos entendi assim. De qualquer forma, não consigo fazer o que ele sugeriu. Ainda sou barriga verde em vba.
Para que a imagem seja carregada com base no caminho informado numa célula, o código deverá ser implementado no evento Initialize do formulário.

Na macro abaixo eu estou considerando um botão, onde o usuário tem a opção de procurar a imagem no computador e um controle Image1 onde a imagem será carregada (jpg ou bmp).

Veja se ajuda.

Obs: Se a imagem não for encontrada no computador, vai dar erro no programa. Dá para tratar esse erro, mas por enquanto segue o código para teste

Código: Selecionar todos

Private CelulaCaminhoImagem As Range

Private Sub CommandButton1_Click()
Dim strCaminhoImagem    As String

strCaminhoImagem = Application.GetOpenFilename("*.jpg,*.jpg,*.bmp,*.bmp")

If strCaminhoImagem = "" Then
    MsgBox "Processo não concluído"
Else
    Image1.Picture = LoadPicture(strCaminhoImagem)
    
    CelulaCaminhoImagem.Value = strCaminhoImagem
End If

End Sub

Código: Selecionar todos

Private Sub UserForm_Initialize()
    Set CelulaCaminhoImagem = Range("A1")
    
    If CelulaCaminhoImagem.Value <> "" Then
        Image1.Picture = LoadPicture(CelulaCaminhoImagem.Value)
    End If
End Sub


Charlie-81
Colaborador
Colaborador
Mensagens: 10
Registrado em: Dom Set 23, 2012 3:16 am

Re: Carregar Imagem em Userform

Mensagem por Charlie-81 »

matou a pau Vega... era exatamente o que queria. Não estava conseguindo manter a imagem fixa no form. Cara, um grande abraço para você. Me ajudou muito, mas muito mesmo. Me diz se ainda tem interesse em resolver o problema de eu cancelar a busca da imagem e ir para o depurador.
Mais uma vez, parabéns.


Avatar do usuário
Vega
Colaborador
Colaborador
Mensagens: 26
Registrado em: Sáb Ago 18, 2012 7:46 pm

Re: Carregar Imagem em Userform

Mensagem por Vega »

Charlie, segue o código para tratar esse erro

Código: Selecionar todos

Private CelulaCaminhoImagem As Range
Private ArquivoExiste       As Object


Private Sub CommandButton1_Click()
Dim strCaminhoImagem    As String

strCaminhoImagem = Application.GetOpenFilename("*.jpg,*.jpg,*.bmp,*.bmp")

If ArquivoExiste.FileExists(strCaminhoImagem) = True Then
    Image1.Picture = LoadPicture(strCaminhoImagem)
    CelulaCaminhoImagem.Value = strCaminhoImagem
Else
    MsgBox "Processo não concluído, a imagem não foi encontrada"
End If

End Sub

Private Sub UserForm_Initialize()
    Set CelulaCaminhoImagem = Range("A1")
    Set ArquivoExiste = CreateObject("Scripting.FileSystemObject")
    
    If ArquivoExiste.FileExists(CelulaCaminhoImagem.Value) = True Then
        Image1.Picture = LoadPicture(CelulaCaminhoImagem.Value)
    End If
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder