- 02 Jun 2022 às 17:16
#71134
Prezados, tudo bem?
Vem algum tempo que utilizo um código VBA, extraído da internet para importar imagens para uma planilha, conforme o código cadastrado. Caso, não localizava a imagem no diretório especifico, pulava para a próxima instrução, sem nenhuma mensagem de alerta que não tinha localizado o arquivo, até localizar ou chegar numa regra, com nome fixo. Porém, de uns meses prá essa função parou de funcionar, apresentando uma mensagem de alerta informando que houve um erro ao importa o arquivo, precisando clicar no enter a cada texte realizado na função, até chegar na regra, que valide a imagem solicitada.
Antes de tudo, muito obrigado por quem poder me ajudar.
Segue o exemplo do código:
Public Function getImage(ByVal sCode As String) As String
On Error Resume Next
Dim sFile As String
Dim oSheet As Worksheet
Dim oCell As Range
Dim oImage As Shape
Set oCell = Application.Caller
Set oSheet = oCell.Parent
Set oImage = Nothing
For i = 999 To oSheet.Shapes.Count
If oSheet.Shapes(i).Name = sCode Then
Set oImage = oSheet.Shapes(i)
Exit For
End If
Next i
If oImage Is Nothing Then
sFile = "\\10.0.0.7\c$\inetpub\wwwroot\Shopnow\Fotos\" & sCode & ".jpg"
Set oImage = oSheet.Shapes.AddPicture(sFile, msoCTrue, msoCTrue, oCell.Left, oCell.Top, oCell.Width, oCell.Height)
If oImage Is Nothing Then
sFile = "\\10.0.0.7\c$\inetpub\wwwroot\Shopnow\Fotos\" & Left$(sCode, 7) & "-c.jpg"
Set oImage = oSheet.Shapes.AddPicture(sFile, msoCTrue, msoCTrue, oCell.Left, oCell.Top, oCell.Width, oCell.Height)
End If
oImage.Name = sCode
Else
With oImage
.Left = oCell.Left
.Top = oCell.Top
.Width = oCell.Width
.Height = oCell.Height
End With
End If
getImage = ""
End Function
Vem algum tempo que utilizo um código VBA, extraído da internet para importar imagens para uma planilha, conforme o código cadastrado. Caso, não localizava a imagem no diretório especifico, pulava para a próxima instrução, sem nenhuma mensagem de alerta que não tinha localizado o arquivo, até localizar ou chegar numa regra, com nome fixo. Porém, de uns meses prá essa função parou de funcionar, apresentando uma mensagem de alerta informando que houve um erro ao importa o arquivo, precisando clicar no enter a cada texte realizado na função, até chegar na regra, que valide a imagem solicitada.
Antes de tudo, muito obrigado por quem poder me ajudar.
Segue o exemplo do código:
Public Function getImage(ByVal sCode As String) As String
On Error Resume Next
Dim sFile As String
Dim oSheet As Worksheet
Dim oCell As Range
Dim oImage As Shape
Set oCell = Application.Caller
Set oSheet = oCell.Parent
Set oImage = Nothing
For i = 999 To oSheet.Shapes.Count
If oSheet.Shapes(i).Name = sCode Then
Set oImage = oSheet.Shapes(i)
Exit For
End If
Next i
If oImage Is Nothing Then
sFile = "\\10.0.0.7\c$\inetpub\wwwroot\Shopnow\Fotos\" & sCode & ".jpg"
Set oImage = oSheet.Shapes.AddPicture(sFile, msoCTrue, msoCTrue, oCell.Left, oCell.Top, oCell.Width, oCell.Height)
If oImage Is Nothing Then
sFile = "\\10.0.0.7\c$\inetpub\wwwroot\Shopnow\Fotos\" & Left$(sCode, 7) & "-c.jpg"
Set oImage = oSheet.Shapes.AddPicture(sFile, msoCTrue, msoCTrue, oCell.Left, oCell.Top, oCell.Width, oCell.Height)
End If
oImage.Name = sCode
Else
With oImage
.Left = oCell.Left
.Top = oCell.Top
.Width = oCell.Width
.Height = oCell.Height
End With
End If
getImage = ""
End Function