Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Avatar do usuário
Por LeoHenrique
Posts Avatar
#70434
Boa noite pessoal !

O código abaixo, procura no caminho abaixo, as fotos dos calçados pelo número da referência, mas quando o número do calçado não é localizado, dá a mensagem = (Ocorreu um erro ao importar este ficheiro. \\192.168.0.183\arquivo\....)
Gostaria que o código não desse o erro e que pulasse caso não localizar. Já pesquisei e tentei de tudo, se alguém puder ajudar agradeço.



Sub InsereRedimensionaFotos()

Dim r As Range, sPath As String, shp As Shape
For Each r In Range("B7:B" & Cells(Rows.Count, 2).End(3).Row)
sPath = "\\192.168.0.183\arquivo\Comercial\Usuários\Leandro\Fotos\" & r.Value & ".jpg"
On Error Resume Next
Set shp = ActiveSheet.Shapes.AddPicture(sPath, False, True, _
r.Offset(, 1).Left + r.Offset(, 1).Width * 0.05, _
r.Offset(, 1).Top + r.Offset(, 1).Height * 0.1, _
r.Offset(, 1).Width * 0.9, r.Offset(, 1).Height * 0.8)
On Error GoTo 0
Next r
End Sub
Por osvaldomp
#70439
Experimente substituir o trecho abaixo
Código: Selecionar todos
On Error Resume Next
Set shp = ActiveSheet.Shapes.AddPicture(sPath, False, True, _
r.Offset(, 1).Left + r.Offset(, 1).Width * 0.05, _
r.Offset(, 1).Top + r.Offset(, 1).Height * 0.1, _
r.Offset(, 1).Width * 0.9, r.Offset(, 1).Height * 0.8)
On Error GoTo 0
#
por este
Código: Selecionar todos
If Len(Dir(sPath)) <> 0 Then
 Set shp = ActiveSheet.Shapes.AddPicture(sPath, False, True, _
 r.Offset(, 1).Left + r.Offset(, 1).Width * 0.05, _
 r.Offset(, 1).Top + r.Offset(, 1).Height * 0.1, _
 r.Offset(, 1).Width * 0.9, r.Offset(, 1).Height * 0.8)
End If
Avatar do usuário
Por LeoHenrique
Posts Avatar
#70442
Bom dia Osvaldo !! Muito obrigado novamente !! Top demais !! Se puder explicar o que cada linha faz, ficarei grato !!
Por osvaldomp
#70443
Olá, @LeoHenrique .

O comando On Error não produz efeitos no caso de localização e abertura de arquivos.

O comando que eu passei (If Len(Dir(sPath)) <> 0 Then) verifica se o arquivo antes especificado existe no caminho indicado. Se existe então abre, se não, então não tenta abrir o arquivo e a execução vai direto ao End If.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord