VBA图片不会在Excel 2007中显示

时间:2013-07-12 12:56:53

标签: excel vba excel-2007 ms-office excel-2010

我遇到了一个在Excel 2007下发生的奇怪问题。

我创建了一个包含1000行(不同产品/商品编号)的文档,并使用我的小VBA代码从网上获取产品图片

ActiveSheet.Pictures.Insert(ActiveCell.Text).Select
Selection.ShapeRange.Height = 100

图片确实显示在 Excel 2010 中,即使在其他PC上也是如此 但是,它们不会出现在 Excel 2007 中,即使是其他格式,例如97-03

1 个答案:

答案 0 :(得分:1)

尝试将图片添加到Excel工作表的替代方法。它将如下:

ActiveSheet.Shapes.AddPicture _
        Filename:=Activecell.Text, _
        linktofile:=msoFalse, _
        savewithdocument:=msoCTrue, _
        Left:=40, Top:=40, Width:=1600, Height:=1600

很少有人发现它是更稳定可靠的添加图片的方法。

编辑正如@Julien Marrec所指出的那样,使用我提供的代码,你需要知道形状的比例,或者你需要调整它作为下一步。我通常使用此代码执行此操作:

With ActiveSheet.Shapes(ActiveSheet.Count)
    .LockAspectRatio = msoTrue
    .ScaleHeight 1, msoTrue, msoScaleFromTopLeft
    .Width = 200
End With

重要!如果添加大图片,则需要在添加时加大尺寸(在代码的第一部分为1600像素)。如果不是,您将无法在代码的第二部分中获得.ScaleHeight method的结果。