VBA Excel将图片添加到工作表

时间:2011-04-26 23:05:47

标签: excel vba image

我找到了一些有助于将图片插入工作表的代码,但用户必须选择插入哪张图片。我希望它会选择一张特定的图片(特别是公司徽标)并插入它。这是代码:

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 \”,用户必须单击图片。我需要对此进行更改,以便用户不会点击任何内容。

2 个答案:

答案 0 :(得分:2)

我知道这是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的原帖)

答案 1 :(得分:1)

应该如下:

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

因为无论如何所有功能都在返回。