Vba 从URL插入图像

Vba 从URL插入图像,vba,excel,web-scraping,Vba,Excel,Web Scraping,以下代码适用于大多数图像URL,但对于此特定URL,我遇到了错误: Sub test() Sheets(1).Shapes.AddPicture "https://images-na.ssl-images-amazon.com/images/M/MV5BYzVlY2JiODctNGMzNC00OWE5LTg3MTEtNDQ3NDYxNjIxNTBiXkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_.jpg" _ , msoFal

以下代码适用于大多数图像URL,但对于此特定URL,我遇到了错误:

Sub test()
Sheets(1).Shapes.AddPicture "https://images-na.ssl-images-amazon.com/images/M/MV5BYzVlY2JiODctNGMzNC00OWE5LTg3MTEtNDQ3NDYxNjIxNTBiXkEyXkFqcGdeQXVyNTM3MDMyMDQ@._V1_.jpg" _
                          , msoFalse, msoTrue, 100, 100, 500, 600
End Sub
运行时错误“1004”:找不到指定的文件


是否由指定此特定URL字符串的方式引起(与VBA不兼容)?或者您认为这与主机阻止访问有关吗?谢谢。

尝试查找
*.png
图片。那就行了

我试过在巴布亚新几内亚的同一个亚马逊网站上使用-

Sub Test()

     Sheets(1).Shapes.AddPicture _
                 "https://images-na.ssl-images-amazon.com/images/I/31TN1u5GEqL.png",  _
                 msoFalse, msoTrue, 100, 100, 500, 600
End Sub
在本文中,他们给出了
*.bmp
文件的示例

编辑:
然而,
*.jpg
可以在许多其他网站上使用。因此,亚马逊可能正在限制它。

我猜他们(亚马逊)正在限制对它的访问,将其视为您正在“热链接”到他们的图像,从而“窃取他们的带宽”——如果您循环该代码,您将中断他们的服务器。来自同一服务器的其他图片是否为您工作?谢谢,我认为情况并非如此,因为来自同一服务器的以下URL工作正常:()使用上述代码。我怀疑它与所需URL中字符串的最后一部分有关,特别是;"MDQ@._V1_.jpg“不兼容,尽管我可能错了。我用你的代码尝试了该URL,但与另一个图像有相同的错误。这很奇怪,因为它即使在我的Excel新实例上也能正常工作。更奇怪的是,如果我在没有VBA的情况下手动执行初始URL的过程(单击“插入图片->指定原始URL->单击“打开”),那么效果很好!这似乎与VBA完全相关。可能是您需要对字符进行编码:
https://images-na.ssl-images-amazon.com/images/M/MV5BYzVlY2JiODctNGMzNC00OWE5LTg3MTEtNDQ3NDYxNjIxNTBiXkEyXkFqcGdeQXVyNTM3MDMyMDQ%40._V1_.jpg
谢谢,很奇怪,来自同一主机的以下URL似乎与jpg()一样工作正常。我猜要么是亚马逊限制了某些URL,要么是因为特定的字符串结构与VBA不兼容。@ExamOrph-确实很奇怪。这可能是由于
@
符号造成的。您可以请求他们的支持,但一般来说,他们不喜欢对其进行爬网-但是,他们有API,每个人都可以使用:)谢谢,经过进一步审查,我几乎可以肯定它与VBA相关。根据上面关于OP的评论,我可以使用原始URL手动插入图片,但是只有在使用VBA复制时才会出现错误。我会继续调查,看看它会把我引向何方!再次感谢。