我遇到了一个在 Excel 2007 下发生的奇怪问题。
我创建了一个包含 1000 行(不同的产品/文章编号)的文档,并使用我的小 VBA 代码从网上获取产品图片
ActiveSheet.Pictures.Insert(ActiveCell.Text).Select
Selection.ShapeRange.Height = 100
图片确实显示在Excel 2010中,即使在其他 PC 上但它们不会出现在Excel 2007中,即使是其他格式,如 97-03
我遇到了一个在 Excel 2007 下发生的奇怪问题。
我创建了一个包含 1000 行(不同的产品/文章编号)的文档,并使用我的小 VBA 代码从网上获取产品图片
ActiveSheet.Pictures.Insert(ActiveCell.Text).Select
Selection.ShapeRange.Height = 100
图片确实显示在Excel 2010中,即使在其他 PC 上但它们不会出现在Excel 2007中,即使是其他格式,如 97-03
尝试将图片添加到 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
第二部分代码的结果。