Ir ao conteúdo
  • Cadastre-se

Excel exibir imagem form com listview


Posts recomendados

    Bom dia!

estou tentando em um formulário com TextBox e Listview exibir uma imagem no Image1

  até o momento consegui que o formulario descubra a imagem com o mesmo nome do txt_titulo e coloque o caminho na planilha,

no entanto não exibe a imagem no quadro 

 

Private Sub txt_titulo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    If txt_titulo <> "" Then

        If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then

            retornaProduto CStr(txt_titulo)

        End If

    End If

End Sub

Function retornaProduto(ByVal vCodigo As String)

    'Desabilitamos a atualização de tela

    Application.ScreenUpdating = False

   

    'Selecionamos a Planilha que contém a base de dados

    With ThisWorkbook.Sheets("Gibis")

        .Activate

        'Seleciona a Coluna onde os ID's estão cadastrados

        Columns(2).Select

       

        'Se houver erro, vá para o tratamento

        On Error GoTo ND

        'Pesquisamos pelo código informado

        Selection.Find(vCodigo, ActiveCell, xlValues, xlWhole, xlByRows, xlNext).Activate

       

        'Gravamos ou atualizamos o caminho completo da Imagem na coluna D

        Cells(ActiveCell.Row, "K") = CStr(ThisWorkbook.Path & "\Imagens\" & vCodigo & ".jpg")

        'Seleciona a célula onde o produto foi localizado

        Cells(ActiveCell.Row, "B").Select

        'Preenchemos os campos do UserForm

        With BUSCA

            .txt_ID = Cells(ActiveCell.Row, "A")

            .txt_titulo = vCodigo

            .txt_numero = Cells(ActiveCell.Row, "C")

            .txt_ano = Cells(ActiveCell.Row, "D")

            .txt_licenciadora = Cells(ActiveCell.Row, "E")

            .txt_editora = Cells(ActiveCell.Row, "F")

            .txt_estado = Cells(ActiveCell.Row, "G")

            .txt_quantidade = Cells(ActiveCell.Row, "J")

            .Image1.PictureSizeMode = fmPictureSizeModeStretch

            .Image1.Picture = LoadPicture(Cells(ActiveCell.Row, "K"))

        End With

       

ND:

    If Err = 91 Then 'Se o erro for 91 (não encontrado), informamos sobre o erro

        MsgBox "O produto " & vCodigo & " não existe ou não foi cadastrado!", vbCritical, "Erro"

        'E limpamos o formulário

        BUSCA.txt_ID = ""

        BUSCA.txt_titulo = ""

        BUSCA.txt_numero = ""

        BUSCA.txt_ano = ""

        BUSCA.txt_licenciadora = ""

        BUSCA.txt_editora = ""

        BUSCA.txt_estado = ""

        BUSCA.txt_quantidade = ""

        BUSCA.Image1.Picture = Nothing

    End If

    End With

    'Habilitamos a atualização de tela

    Application.ScreenUpdating = True

End Function

adicionado 49 minutos depois

Exemplificando: ao digitar o nome 100 BALAS no textbox Titulo, o caminho para o arquivo jpg aparece na celula K, porém não aparece a imagem no Image ao lado.

PROJETO VÉSPER V8.rar

Link para o comentário
Compartilhar em outros sites

Em 02/04/2020 às 08:51, Eri França disse:

    Bom dia!

estou tentando em um formulário com TextBox e Listview exibir uma imagem no Image1

  até o momento consegui que o formulario descubra a imagem com o mesmo nome do txt_titulo e coloque o caminho na planilha,

no entanto não exibe a imagem no quadro 

 

Private Sub txt_titulo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    If txt_titulo <> "" Then

        If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then

            retornaProduto CStr(txt_titulo)

        End If

    End If

End Sub

Function retornaProduto(ByVal vCodigo As String)

    'Desabilitamos a atualização de tela

    Application.ScreenUpdating = False

   

    'Selecionamos a Planilha que contém a base de dados

    With ThisWorkbook.Sheets("Gibis")

        .Activate

        'Seleciona a Coluna onde os ID's estão cadastrados

        Columns(2).Select

       

        'Se houver erro, vá para o tratamento

        On Error GoTo ND

        'Pesquisamos pelo código informado

        Selection.Find(vCodigo, ActiveCell, xlValues, xlWhole, xlByRows, xlNext).Activate

       

        'Gravamos ou atualizamos o caminho completo da Imagem na coluna D

        Cells(ActiveCell.Row, "K") = CStr(ThisWorkbook.Path & "\Imagens\" & vCodigo & ".jpg")

        'Seleciona a célula onde o produto foi localizado

        Cells(ActiveCell.Row, "B").Select

        'Preenchemos os campos do UserForm

        With BUSCA

            .txt_ID = Cells(ActiveCell.Row, "A")

            .txt_titulo = vCodigo

            .txt_numero = Cells(ActiveCell.Row, "C")

            .txt_ano = Cells(ActiveCell.Row, "D")

            .txt_licenciadora = Cells(ActiveCell.Row, "E")

            .txt_editora = Cells(ActiveCell.Row, "F")

            .txt_estado = Cells(ActiveCell.Row, "G")

            .txt_quantidade = Cells(ActiveCell.Row, "J")

            .Image1.PictureSizeMode = fmPictureSizeModeStretch

            .Image1.Picture = LoadPicture(Cells(ActiveCell.Row, "K"))

        End With

       

ND:

    If Err = 91 Then 'Se o erro for 91 (não encontrado), informamos sobre o erro

        MsgBox "O produto " & vCodigo & " não existe ou não foi cadastrado!", vbCritical, "Erro"

        'E limpamos o formulário

        BUSCA.txt_ID = ""

        BUSCA.txt_titulo = ""

        BUSCA.txt_numero = ""

        BUSCA.txt_ano = ""

        BUSCA.txt_licenciadora = ""

        BUSCA.txt_editora = ""

        BUSCA.txt_estado = ""

        BUSCA.txt_quantidade = ""

        BUSCA.Image1.Picture = Nothing

    End If

    End With

    'Habilitamos a atualização de tela

    Application.ScreenUpdating = True

End Function

adicionado 49 minutos depois

Exemplificando: ao digitar o nome 100 BALAS no textbox Titulo, o caminho para o arquivo jpg aparece na celula K, porém não aparece a imagem no Image ao lado.

PROJETO VÉSPER V8.rar 1 MB · 2 downloads

 

Em 02/04/2020 às 08:51, Eri França disse:

    Bom dia!

estou tentando em um formulário com TextBox e Listview exibir uma imagem no Image1

  até o momento consegui que o formulario descubra a imagem com o mesmo nome do txt_titulo e coloque o caminho na planilha,

no entanto não exibe a imagem no quadro 

 

Private Sub txt_titulo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    If txt_titulo <> "" Then

        If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then

            retornaProduto CStr(txt_titulo)

        End If

    End If

End Sub

Function retornaProduto(ByVal vCodigo As String)

    'Desabilitamos a atualização de tela

    Application.ScreenUpdating = False

   

    'Selecionamos a Planilha que contém a base de dados

    With ThisWorkbook.Sheets("Gibis")

        .Activate

        'Seleciona a Coluna onde os ID's estão cadastrados

        Columns(2).Select

       

        'Se houver erro, vá para o tratamento

        On Error GoTo ND

        'Pesquisamos pelo código informado

        Selection.Find(vCodigo, ActiveCell, xlValues, xlWhole, xlByRows, xlNext).Activate

       

        'Gravamos ou atualizamos o caminho completo da Imagem na coluna D

        Cells(ActiveCell.Row, "K") = CStr(ThisWorkbook.Path & "\Imagens\" & vCodigo & ".jpg")

        'Seleciona a célula onde o produto foi localizado

        Cells(ActiveCell.Row, "B").Select

        'Preenchemos os campos do UserForm

        With BUSCA

            .txt_ID = Cells(ActiveCell.Row, "A")

            .txt_titulo = vCodigo

            .txt_numero = Cells(ActiveCell.Row, "C")

            .txt_ano = Cells(ActiveCell.Row, "D")

            .txt_licenciadora = Cells(ActiveCell.Row, "E")

            .txt_editora = Cells(ActiveCell.Row, "F")

            .txt_estado = Cells(ActiveCell.Row, "G")

            .txt_quantidade = Cells(ActiveCell.Row, "J")

            .Image1.PictureSizeMode = fmPictureSizeModeStretch

            .Image1.Picture = LoadPicture(Cells(ActiveCell.Row, "K"))

        End With

       

ND:

    If Err = 91 Then 'Se o erro for 91 (não encontrado), informamos sobre o erro

        MsgBox "O produto " & vCodigo & " não existe ou não foi cadastrado!", vbCritical, "Erro"

        'E limpamos o formulário

        BUSCA.txt_ID = ""

        BUSCA.txt_titulo = ""

        BUSCA.txt_numero = ""

        BUSCA.txt_ano = ""

        BUSCA.txt_licenciadora = ""

        BUSCA.txt_editora = ""

        BUSCA.txt_estado = ""

        BUSCA.txt_quantidade = ""

        BUSCA.Image1.Picture = Nothing

    End If

    End With

    'Habilitamos a atualização de tela

    Application.ScreenUpdating = True

End Function

adicionado 49 minutos depois

Exemplificando: ao digitar o nome 100 BALAS no textbox Titulo, o caminho para o arquivo jpg aparece na celula K, porém não aparece a imagem no Image ao lado.

PROJETO VÉSPER V8.rar 1 MB · 2 downloads

@Basole@olliver.soul

Link para o comentário
Compartilhar em outros sites

@Eri França  Para carregar a imagem você pode pegar o valor de alguma variável (se você atribuiu uma) ou usar um PROCV que pesquise o endereço na coluna K.

 

Exemplo no evento Click,

 

Private Sub ListView1_Click()
    Dim I   As Integer
    Dim T   As String
    
    On Error GoTo FIM
    
    I = (ListView1.SelectedItem.Index)
    T = ListView1.ListItems(I).ListSubItems(1).Text
    Image1.Picture = LoadPicture(WorksheetFunction.VLookup(T, Range("B2:K10"), 10, 0))
    
FIM:
    If Err.Number = 1004 Then MsgBox "Imagem não encontrada"
End Sub

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...