2011-04-26 38 views
2

我发现了一些帮助将图片插入工作表的代码,但用户必须选择插入哪张图片。我希望它会选择一个特定的图片(特别是公司的标志)并插入它。这里是代码:VBA Excel将图片添加到工作表

PicLocation = Application.GetSaveAsFilename("C:\Work\test_Project\", "CA_Value_AVM, *.jpg", 1) 
If PicLocation <> "" Then 
    ActiveSheet.Pictures.Insert(PicLocation).Select 
Else 
    Exit Sub 
End If 

这个代码是在单击按钮时执行的。用户点击它,然后打开路径“C:\ Work \ test_Project \”,用户必须点击图片。我需要这个改变,以便用户不会点击任何东西。

回答

1

它应该为:

ActiveSheet.Pictures.Insert("C:\Work\test_Project\myjpgfile.jpg").Select 

因为这是所有的功能反正返回。

+0

这简直太神奇了。谢谢 – 2011-04-26 23:21:51

+0

@Jesse没问题。 – jonsca 2011-04-26 23:22:32

1

我知道这是4年前问的,但我想继续并在此更新答案,以便op和未来的搜索者(比如我自己)可以有更完整的答案。

jonsca的答案是适当的,将工作,但如果电子表格被移动,你的照片将无法正常工作。实质上,ActiveSheet.Pictures.Insert嵌入一个图像,这意味着如果源图像或电子表格被移动,链接将会中断并且图像不会显示(对于OP最初被问到的公司电子表格不太好)。

但是,如果你想要一个图片工作时移动/发送/等。你可以使用:

ActiveSheet.Shapes.AddPicture("C:\Work\test_Project\myjpgfile.jpg", False, True, 1, 1, 1, 1) 

对定位和东西多一点的解释请参见this post

(感谢PaulStock的原始帖子)

相关问题