Notifications
Clear all

Mensagem Personalizada de erro

7 Posts
3 Usuários
0 Reactions
1,884 Visualizações
(@valzito)
Posts: 22
Eminent Member
Topic starter
 

Senhores,

No meu projeto tenho algumas imagens que são carregadas no image atráves de um comando. Quando a imagem não está nomeada corretamente aparece o form padrão com a mensagem de erro. Gostaria de personalizar esta mensagem de modo a orientar o usuário a por o nome correto. Dei uma pesquisada por aqui e não encontrei nada nesse sentido, pelo menos referente ao meu caso.

Grato!

 
Postado : 11/11/2019 2:40 pm
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Poderia ser algo nesta linha:

'Se houver erro, vá para o tratamento
On Error GoTo ND
Venda.Image_foto.Picture = LoadPicture(ThisWorkbook.Path & "foto" & Venda.txt_codigo & ".jpg")

ND:

If Err = 91 Or Err = 13 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
Venda.txt_codigo = ""
ElseIf Err = 76 Or Err = 53 Then
MsgBox "No Endereço: " & !caminho & "Diretorio ou Foto não encontrado"
End If[/cocde]

Porem é precisa adaptar a sua realidade

Reinaldo

 
Postado : 11/11/2019 5:10 pm
(@valzito)
Posts: 22
Eminent Member
Topic starter
 

Olá Reinaldo, Obrigado pela força!

Até que tentei por para funcionar, mas meu conhecimento em VBA é bem limitado, estou começando a gora, então não consegui.

Seria basicamente para esses dois erros conforme no arquivo anexo, se poder dá uma olhada, Agradeço!

https://www.dropbox.com/s/3bcdlq1prh82i ... o.lnk?dl=0

abç.

 
Postado : 11/11/2019 10:27 pm
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

valzito, esse link está quebrado, só tem um atalho.

A dica do Reinaldo funciona, mas vai depender de como voce está carregando, se é imagem de algum diretorio como especificado na rotina ou se é imagem que estão na própria planilha.
Acerte o link ou coloque qual rotina está utilizando para poder obter uma ajuda mais precisa.

[]s
Mauro Coutinho

 
Postado : 12/11/2019 6:56 am
(@valzito)
Posts: 22
Eminent Member
Topic starter
 

Bom dia Coutinho,

Realmente i link está quebrado, nem percebi :D .

segue o novo.
https://www.dropbox.com/s/qd437r1zjegwk ... o.zip?dl=0

 
Postado : 12/11/2019 9:46 am
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

valzito, a primeira obs, em sua rotina temos o erro devido ao nome errado da Aba colocado na instrução, o correto é "utg" e não "ut"

De uma forma simples e básica troque por essa abaixo, faça os testes e não esqueça se renomear a imagem tem de ajustar na rotina.

Private Sub CommandButton1_Click()
   
    On Error GoTo SemImagem
    
    Worksheets("utg").Shapes("imagem 1").CopyPicture
    
    Set UserForm1.Image1.Picture = PastePicture(xlPicture)
    Exit Sub
    
SemImagem:
    MsgBox "Imagem não localizada ou Nome incorreto !!", vbCritical, "Verifique o correto!!!"
    Set UserForm1.Image1.Picture = Nothing
  
End Sub

Essa segunda Rotina (CommndButton2), seria para o caso de ter um TextBox no formulário nomeado de "txtImage" onde a pessoa possa digitar o nome da imagem, resolvi colocar só para o caso de pensar em implementar um pouco mais sua aplicação.

Private Sub CommandButton2_Click()
    Dim stxtImage As String
    
    On Error GoTo SemImagem
    
    stxtImage = txtImage.Value
    
    Worksheets("utg").Shapes(stxtImage).CopyPicture
    
    Set UserForm1.Image1.Picture = PastePicture(xlPicture)
    Exit Sub
    
SemImagem:
    MsgBox "Imagem não localizada ou Nome incorreto !!", vbCritical, "Verifique o correto!!!"
    Set UserForm1.Image1.Picture = Nothing
  
End Sub

[]s

Mauro Coutinho

 
Postado : 12/11/2019 12:14 pm
(@valzito)
Posts: 22
Eminent Member
Topic starter
 

Boa tarde Coutinho.

Era exatamente isso! Ficou perfeito! Esta segunda rotina vou por sim!

Muito obrigado irmão! Fica na paz.

 
Postado : 12/11/2019 4:24 pm