2016-09-15 1353 views
1

我想用下面得到一些图片转换成Excel表:添加图片无法显示链接的图像。 Excel的VBA

Sub Addpicture() 
    Dim strPath 
    Dim p As Object 
    strPath = <String containing path here> 
    Set p = ActiveSheet.Shapes.Addpicture(strPath, msoCTrue, msoTrue, 1000, 10, 86, 129) 
    ActiveSheet.Pictures.Insert (strPath) 
End Sub 

两个Pictures.Insert和Shapes.Addpicture只要给我在正确的地方含有“一个矩形的链接图像无法显示文件可能已被移动,重命名或删除验证链接指向正确的文件和位置“

我很确定我的文件路径是正确的。有没有人对这个问题有所了解?

+0

如果[本文使用不同的方法添加图片](http://stackoverflow.com/questions/12936646/how-to-insert-a-picture-into-excel-at-a-specified-cell- position-with-vba)不起作用,并且您确定文件名与图片属性窗口下的位置:图片名称匹配,接下来要问的是,这是一个权限问题吗? – Tyeler

+0

权限可能对我来说是一件好事。我会尽力而为。谢谢。 – Joe

+0

链接的帖子给了我一个“Object required”的错误,不知道这是什么意思。 – Joe

回答

0

该代码适用于我,并插入图片两次。第一次失真(来自Shapes.Addpicture),第二次以原始大小变形。

以下是带有效路径的代码示例。

Sub Addpicture() 
    Dim strPath 
    Dim p As Object 
    strPath = "D:\folder\subfolder\image.jpg" 
    Set p = ActiveSheet.Shapes.Addpicture(strPath, msoCTrue, msoTrue, 1000, 10, 86, 129) 
    ActiveSheet.Pictures.Insert (strPath) 
End Sub 

您可能需要再次检查您的路径并确认您可以访问该文件。

+0

@Joe哦,为了增加这一点,你可能还想确保你的文件路径是用引号括起来的,而不是<>。不知道<>是否只是一个占位符。 – Tyeler

+0

干杯泰勒,它是有帮助的,知道它是为你工作。 <>只是占位符,我在实际代码中使用了引号。我使用Mac,所以有一个稍微不同的路径结构。这可能是问题的一部分吗? – Joe

+0

你的道路在原理上是什么样的?用“文件夹”或“子文件夹”等替换真实的文件夹名称 – teylyn