image - 插入Picture类的属性

标签 image vba excel

我已阅读此处有关此主题的所有问题,但没有一个为我提供可行的解决方案,因此我提出这个问题。

我在 Windows 7 中运行 Excel 2013 的合法副本。我在插入图片的位置记录了一个宏,并在打开的文件对话框中粘贴了以下 URL:http://ecx.images-amazon。 com/images/I/41u%2BilIi00L._SL160_.jpg(只是亚马逊上产品的图片)。这按预期工作。

生成的宏如下所示:

Sub insertImage()
'
' percent Macro
'

'
    ActiveSheet.Pictures.Insert( _
        "http://ecx.images-amazon.com/images/I/41u+ilIi00L._SL160_.jpg").Select
End Sub

但是,当我尝试运行此命令时,Insert 行中断并出现以下错误:

Run-time error '1004':

Unable to get the Insert property of the Picture class

我正在尝试将许多图片插入到 Excel 文档中,并且我使用 ActiveSheet.Pictures.Insert 方法来执行此操作。我在那里遇到了这个问题,所以我以其他人可以复制的方式重新创建了它,以方便获得答案......

需要注意的一个有趣的事情是:

http://ecx.images-amazon.com/images/I/41u%2BilIi00L._SL160_.jpg 'This is what I pasted
http://ecx.images-amazon.com/images/I/41u+ilIi00L._SL160_.jpg 'This is what the recorded macros recorded

看起来 Excel 自动将 %2B 解析为 +。我尝试进行更改,但没有成功。

另一个值得注意的有趣的事情是,有时这有效,有时则无效。这个url是不起作用的情况。这是一个地方:http://ecx.images-amazon.com/images/I/51mXQ-IjigL._SL160_.jpg

为什么 Excel 会生成无法运行的宏?更重要的是,我怎样才能避免这个错误并继续我的工作!?谢谢!

最佳答案

尝试此解决方法:

Sub RetrieveImage()
Dim wsht As Worksheet: Set wsht = ThisWorkbook.ActiveSheet
wsht.Shapes.AddPicture "http://ecx.images-amazon.com/images/I/41u+ilIi00L._SL160_.jpg", _
                    msoFalse, msoTrue, 0, 0, 100, 100
End Sub

所有字段都是必需的,这有点令人失望,因为您无法获得默认大小。位置偏移和大小以像素/点为单位。另外,将 % 转换为 + 就可以了,因为 % 会导致它无法被识别(不知道为什么)。

结果:

enter image description here

请告诉我们这是否有帮助。

关于image - 插入Picture类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20415934/

相关文章:

WPF 图像,改变像素的颜色

php - 如何获取谷歌图片

excel - 查找符合条件的第一个集合

excel - 将多个 csv 文件中的数据导入一个 Excel 工作表并计算平均值

不使用 JLabel 的 Java 动画 GIF

C# 和 OpenXML : Insert an image into an excel document

vba - Excel 中具有大型数据集的 VBA 子例程的速度问题

vba - 当表格是水平的时,是否可以使用 VBA 从一个 Excel 工作表到另一个工作表进行 SQL 查找?

excel - 将 Excel 中的所有正数相加

vba - 根据日期锁定整行