tenho uma macro que copia uma imagem em um site de previsão do tempo.
Geralmente ocorrem dois erros...
1 - o site não forneceu a imagem
Tratamento - buscar a imagem de outra fonte
2 - o usuário não autenticou o acesso a internet
Tratamento - autenticar usuário e senha
Eu sei como tratar os erros (acho pelo menos que sei kkk), o meu problema esta em fazer o "loop" para tratá-los.
Segue o meu código:
Código: Selecionar todos
Sub Imagem_simepar()
'https://forum.baboo.com.br/index.php?/topic/688214-macro-para-inserir-imagem/
Dim Pict
Dim Imagem As Object
Dim ImgFileFormat As String
Dim Celula As String
'limpar a imagem já existente
Call Módulo34.Apagar_Simepar
'tentativa de tratamento do erro, criei uma variável para fazer o loop
CodErro = 1
Celula = "AL32" ' local que ficará a imagem
'aqui inicia o loop - onde ocorrem os erros
While CodErro <> 0
ImgFileFormat = "Image Files JPG (*.jpg),*.jpg, Image Files GIF (*.gif),*.gif, Image Files BMP (*.bmp),*.bmp"
Pict = "http://www.Simepar.br/riak/pgw-home-products/radar_parana_thumb.jpeg"
If Pict = False Then End
'AQUI RODA UMA VEZ E PULA PARA A LINHA DE TRATAMENTO, PORÉM NA VOLTA (LOOP) SE ESTIVER COM ERRO ELE NÃO PULA PARA A LINHA DE TRATAMENTO... NÃO SEI PQ?!
On Error GoTo Error_MayCauseAnError
Set Imagem = ActiveSheet.Pictures.Insert(Pict)
Error_MayCauseAnError:
CodErro = Err
If CodErro > 0 Then
'AQUI AUTENTICA O USUARIO PARA O ACESSO A INTERNET
Call Módulo30.ATIVAR_INTERNET_SEL
End If
Wend
Application.CutCopyMode = False
'FONTES ALTERNATIVOS
'satelite simepar
'Pict = "http://www.simepar.br/prognozweb/simepar/image_satelite_goes/1"
'Pict = "http://www.simepar.br/prognozweb/simepar/image_raios_simepar/1" 'MAPA DE RAIOS
'clima tempo
'Pict = "https://geosite.climatempo.com.br/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=satelite:goesr_ret_ch13_bmcol0_20,localidades:estados,localidades:paises&styles=,poligono_vazado_preto_fino,poligono_vazado_preto_fino&bbox=-6486751.968393198,-3402365.003029766,-4928659.583828165,-2179372.5504669454&width=636&height=477&srs=EPSG:3857&format=image/jpeg&transparent=false"
End Sub
Por favor, podem me ajudar?
Obrigado. abs!