question

Codigo VBA para inserir imagens no excel?

Caro especialista em Excel,

Abaixo mencionado código VBA está sendo usado por mim para inserir imagens no excel com base no nome do arquivo de imagens & bem o seu trabalho.

Quando eu enviar este arquivo do excel para meu chefe então imagens não estão aparecendo em seu sistema, mas no meu sistema, todas as imagens estão mostrando.

Gentilmente me ajude.

Meu sistema é atualizado recentemente para MS office 2010.

Por favor me ajude.


Código VBA:

Sub ProcessFiles()
Dim sPath As String, s As String, r como intervalo
Dim shp como ShapeRange
Dim c como, célula do intervalo como gama, sname As String
Dim p como imagens, como casal, como dobro de diffHeight de diffwidth

sPath = "Pasta de C:\Users\santosh\Desktop\E Catalogue\Images\New"

Se direito (sPath, 1) <> \"então sPath = sPath &"\"

Conjunto r = Range ("B2", células (Rows.Count, 2).End(xlUp))

Para cada célula no r
célula.Offset (0, 1).Selecione

Defina c = a célula.Offset (0, -1)
s = sPath & célula.Valor & ". jpg" ' remover o. jpg, se a célula contém a extensão
sname = dir

Se sname <> "" então
Conjunto p = ActiveSheet.Pictures.Insert(s)
Conjunto shp = p.ShapeRange

diffwidth = c.Width - p.Width

Se diffwidth > 0 então
p.Left = c.Left + 0.5 diffwidth
Outra coisa
p.Left = c.Left
End If

diffHeight = c.Height - p.Height
Se diffHeight > 0 então
p.Top = c. Top + 0.5 diffHeight
Outra coisa
p.Top = c. Top
End If

Outra coisa
c.Value = "Não disponível"

End If
Próxima

End Sub
resposta Resposta
Acho que a questão é o "hard-coded" caminho para os arquivos.

Faz os arquivos existe no caminho relativo "\Desktop\E Catalogue\Images\New pasta" "do perfil do seu chefe?

Ou esses arquivos só existem no seu PC?

Você pode usar esse código para recuperar o caminho do seu desktop e de lá ir:

sDesktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")

Se o arquivos apenas existe no seu pc ou outro pc, em seguida, você pode mapeado o caminho de rede para uma letra de unidade e recode apenas o caminho, ou seja:

path(share) UNC ou rede

\\santosh\images

linha de comando:

NET use z: (espaço) \\santosh\images

e só o recode

De

sPath = "Pasta de C:\Users\santosh\Desktop\E Catalogue\Images\New"

Para:

sPath = "Z"

ComentáriosComentários

Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved