Image Picture类的Insert属性
我已经阅读了所有关于这个话题的问题,没有一个能为我提供一个可行的解决方案,所以我要问这个问题 我正在Windows 7中运行Excel 2013的合法副本。我在插入图片的地方录制了一个宏,并在“打开文件”对话框中粘贴此URL:Image Picture类的Insert属性,image,vba,excel,Image,Vba,Excel,我已经阅读了所有关于这个话题的问题,没有一个能为我提供一个可行的解决方案,所以我要问这个问题 我正在Windows 7中运行Excel 2013的合法副本。我在插入图片的地方录制了一个宏,并在“打开文件”对话框中粘贴此URL:http://ecx.images-amazon.com/images/I/41u%2BilIi00L._SL160_.jpg(只是亚马逊上的一张产品图片)。这正如预期的那样有效 生成的宏如下所示: Sub insertImage() ' ' percent Macro '
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
所有字段都是必需的,这有点让人扫兴,因为您无法获得默认大小。位置偏移和大小以像素/点为单位。另外,%
转到+
也没问题,因为%
会导致无法识别它(不知道为什么)
结果:
让我们知道这是否有帮助。我遇到了同样的问题。 经过一番挖掘,我发现Excel在获取图像之前执行了一个HTTP HEAD请求。 如果此HEAD请求不成功,Excel将返回本讨论中提到的确切错误消息
您可以使用。好奇。。。我准确地复制并粘贴了您的代码,它给了我一个运行时错误:“找不到指定的文件。”在
AddPicture
行上。您正在使用http://ecx.images-amazon.com/images/I/51mXQ-IjigL._SL160_.jpg
?不要用那个,用你的宏记录的原始的。好奇的,好奇的,呃,亲爱的沃森。如果你使用为你工作的URL怎么办?因为在我这方面,你的工作URL抛出了指定的文件…
错误。Microsoft有人在跟踪我们或其他原因,因为当我使用:http://ecx.images-amazon.com/images/I/51mXQ-IjigL._SL160_.jpg
它工作正常,但是当我使用http://ecx.images-amazon.com/images/I/41u+ilIi00L.\u SL160\u.jpg
它坏了……巨魔不会感到惊讶。Excel 2013和Windows 8都是拖拉的完美例子希望这有帮助,即使这不是一个完美的答案。:)