Página 1 de 1

VBA apagar imagem anterior do quadro e inserir nova

Enviado: 28 Ago 2018 às 12:33
por SandroLima
Boa tarde, pessoal do fórum

Estou escrevendo esse código a partir de um outro que insere uma imagem ao dar um duplo clique em uma label.
Código: Selecionar todos
Private Sub img_Cliente_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    
    'Inicialmente deve ser criada a pasta de armazenamento das imagens

    'Remove a imagem anterior
     Me.img_Cliente.Picture = Empty
    
    Dim End_IMG_Cliente As String
                  
    'Exibe a caixa de diálogo padrão e seleciona um arquivo
    End_IMG_Cliente = Application.GetOpenFilename("filtro arquivo, *.bmp; *.png; *.jpg")
    
    Me.img_Cliente.Picture = LoadPicture(End_IMG_Cliente) ' A palavra "Me" comporta-se como uma variável
    
    'Propriedade que ajusta a imagem ao quadro de imagem
    img_Paciente.PictureSizeMode = fmPictureSizeModeZoom
    
    lbl_Cliente_IMG.Visible = False
    fme_Cliente_IMG.BorderStyle = fmBorderStyleNone
      
    'fme_Cliente_IMG.Visible = False
    
End Sub
Esse, deveria a partir de um duplo clique na imagem do formulário (caso tenha sido inserida errada) permitir inserir uma nova imagem. (No caso, "img_Paciente" é a label do quadro de imagem)

Preciso de duas coisas nele que não consegui escrever o código. Não funcionou da maneira que eu tentei...

1) Ao dar um duplo clique sobre a imagem inserida, apagar a imagem e inserir uma nova

2) Já abrir na pasta onde estão as imagens para a escolha do arquivo (no caso C:\BancodeDados\FotosClientes

Obrigado a quem puder ajudar.

VBA apagar imagem anterior do quadro e inserir nova

Enviado: 28 Ago 2018 às 15:34
por Reinaldo
Não entendi, pela rotina já é excluído (ou deveria excluir) a imagem existente: --> img_Cliente.Picture = Empty; e incluida nova imagem: --> img_Cliente.Picture = LoadPicture(End_IMG_Cliente);

Re: VBA apagar imagem anterior do quadro e inserir nova

Enviado: 28 Ago 2018 às 19:12
por SandroLima
Bom então pelo menos fui no rumo da escrita do código... mas infelizmente não funcionou... testei novamente.

Está apresentando
"Erro em tempo de execução'424'":
O objeto é obrigatório.

Re: VBA apagar imagem anterior do quadro e inserir nova

Enviado: 28 Ago 2018 às 22:11
por SandroLima
Consegui resolver com:
Código: Selecionar todos
img_Cliente.Visible = False
No lugar de:
Código: Selecionar todos
Me.img_Cliente.Picture = Empty
E depois retornei a propriedade true após carregar nova imagem