Excel2007/2010版本差异导致在VBA中插入图片的一些变化
在Excel2007中,我们插入图片可以使用如下代码:
ActiveSheet.Shapes.AddPicture(lcPhotoFullPath)
在Excel2007里边,用以上代码插入图片,图片都将作为对象插入Excel文件中.
可是在Excel2010里,使用上面的代码就会默认为象图片将一个链接插入Excel文件中.这样将会导致在本机中插入了本地图片到了其它电脑上边将不能显示.
解决方法是,将原先的插入代码改为:
ActiveSheet.Shapes.AddPicture(lcPhotoFullPath, False, True, 10, 10, 10, 10)
查看AddPicture参数得知:
第一个参数是插入的图片文件名;
第二个参数是True/False,其中True代表链接到文件;False代表不链接到文件,将对象嵌入;
第三个参数是True/False,其中True代表将图片与文档一起保存;False代表不将图片和文档一起保存;
后边的四个参数分别代表插入对象的位置(以磅为单位):图片左上角相对于文档左上角的位置,图片左上角相对于文档顶部的位置,图片的宽度,图片的高度
这样修改之后,就可以解决Excel因版本差异而导致插入图片异常的故障了.