VBA Excel将图片添加到工作表
我发现了一些有助于将图片插入工作表的代码,但是用户必须select插入哪个图片。 我希望能够select一个特定的图片(特别是公司的标志)并插入它。 代码如下:
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
这个代码在点击一个button时执行。 用户单击它,然后打开path“C:\ Work \ test_Project \”,用户必须单击图片。 我需要这个改变,以便用户不要点击任何东西。
它应该作为:
ActiveSheet.Pictures.Insert("C:\Work\test_Project\myjpgfile.jpg").Select
因为这是所有的function正在返回。
我知道这是在4年前问的,但是我想继续在这里更新答案,以便操作人员和未来的search者(比如我自己)可以有更完整的答案。
jonsca的答案是适当的,将工作,但如果电子表格被移动 , 你的照片将无法正常工作。 本质上, ActiveSheet.Pictures.Insert
embedded图像,这意味着如果源图像或电子表格被移动,链接将中断,图像将不会显示(不像OP最初询问的那样对公司电子表格不太好)。
但是,如果你想要一个图片工作时移动/发送/等。 您可以使用:
ActiveSheet.Shapes.AddPicture("C:\Work\test_Project\myjpgfile.jpg", False, True, 1, 1, 1, 1)
看到这个职位的定位和东西更多的一些解释。
(感谢PaulStock的原始post)