web-dev-qa-db-fra.com

VBA pour insérer une image intégrée excel

J'ai vu beaucoup d'articles sur nous xlApp.activesheet.Pictures.Insert(strImagePath) pour insérer des images dans un tableur avec VBA, ce qui fonctionne très bien. Le seul problème est qu'il l'insère comme une image liée. Donc, si j'envoie le tableur hors de notre réseau, les images échouent. Quelqu'un peut-il me dire comment utiliser Pictures.Insert pour placer l'image en tant qu'image incorporée, ou peut-être une autre méthode pour l'insérer? J'appelle également cette méthode d'accès si cela peut aider. 

11
DasPete

vous pouvez utiliser la méthode figures.addpicture

activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _
            savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=100, Height:=100
20
JosieP

Notez que vous pouvez définir les paramètres requis Width et Height sur -1, ce qui permet de conserver la hauteur et la largeur de l'image d'origine!

Activesheet.Shapes.AddPicture Filename:="C:\image.jpg", LinkToFile:=msoFalse, _
        SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=-1, Height:=-1

http://excelmatters.com/2013/11/25/default-picture-size-with-shapes-addpicture/

(Ajouté comme une autre réponse pour augmenter la visibilité alors que je me débattais avec ce problème depuis longtemps et que je n'avais pas trouvé cette solution documentée ailleurs.)

0
Michael