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
Avatar do usuário
Por LeoHenrique
Posts Avatar
#44031
Bom dia a todos !

O código abaixo, busca a foto do item na "rede" da empresa no caminho informado. Porém quando salvo a planilha e envio a outra pessoa, as fotos não abrem... Provavelmente é devido a não estarem na mesma "rede" que eu !
Mas é possível resolver ? Existe outra forma ? Ou somente se copiar todas fotos para a planilha ?

Fico no aguardo,

Segue código !

'Colocar fotos


'Definir intervalo onde estão os códigos das imagens
Dim TodosCod, Cod As Range
Set TodosCod = ActiveSheet.Range("B2:B512")

'Definir variáveis para o procedimento de inserção de fotos
Dim Pasta, Ext, TxtCod As String
Dim Fig As Shape
Dim FigJaExist As Boolean
Pasta = "S:\Comercial\Usuários\Leandro\Fotos\"
Ext = ".jpg"

'Inserir a imagem baseado no código da imagem
For Each Cod In TodosCod
TxtCod = Cod.Value
FigJaExist = False

'Checar a existência do arquivo
If Not Dir(Pasta & TxtCod & Ext) = "" Then

'Checar se há alguma foto na célula de destino
For Each Fig In ActiveSheet.Shapes
If Fig.TopLeftCell.Address = Cod.Offset(0, 1).Address Then FigJaExist = True
Next Fig

'Se não houver foto na célula, inserir o arquivo
If FigJaExist = False Then
With ActiveSheet.Pictures.Insert(Pasta & TxtCod & Ext)
.Left = Cod.Offset(0, 1).Left
.Top = Cod.Offset(0, 1).Top
'...caso queira determinar a largura e altura da imagem
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Width = 105
.ShapeRange.Height = 62
End With
End If
End If
Next Cod



Dim rng As Range
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
Set rng = shp.TopLeftCell
shp.Left = rng.Left + (rng.Width - shp.Width) / 2
shp.Top = rng.Top + (rng.Height - shp.Height) / 2
Next shp
Avatar do usuário
Por LeoHenrique
Posts Avatar
#44084
Bom dia !
Complementando a pergunta, se é possível após o código puxar as fotos para a planilha, "copiar" as mesmas e salvar na planilha para ficar fixa, pois como importou por código VBA, está como um link.
Como se fosse "copiar e colar especial valores" para manter as fotos ! Existe uma forma ?

Se alguém puder ajudar,

Obrigado
Avatar do usuário
Por JCabral
Avatar
#44311
O problema muito provavelmente está na definição do caminho para o servidor onde estão as fotos, no seu computador o caminho é "S:\Comercial\Usuários\Leandro\Fotos\", no do seu colega pode ser "T:\Comercial\Usuários\Leandro\Fotos\", pelo que o caminho dever ser o "geral" do local onde estão as fotos e não o que está mapeado no seu computador.

Tive esse problema na minha empresa e foi assim que resolvi....passou a funcionar em todos os computadores

Abraço
Jorge Cabral
Avatar do usuário
Por LeoHenrique
Posts Avatar
#44318
Boa tarde a todos !

JCabral, obrigado pelo retorno, mas acabei criando outro post, onde formulei a pergunta melhor, o nosso colega do forum "Osvaldomp", resolveu o problema com um pequeno código, mas perfeito !!

O outro post é "Link de foto - VBA"

Abraço
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