我正在使用函数Shapes.AddPicture
在excel文件中插入图像。
我正在调用这样的例程:
leftPlacement=450;
topPlacement=20;
imgWidth=350;
imgHeight=300;
Shapes.AddPicture([pwd '\' img] ,0,1,leftPlacement,topPlacement,imgWidth,imgHeight);
这很好用。但是,图像会屏蔽文件中的数据。要更改位置,必须手动更改leftPlacement, topPlacement, imgWidth imgHeight
。
我想知道,如果有更好的方法可以将图像透明地放在空单元格中。
答案 0 :(得分:2)
形状未附加到Excel工作表中的单个单元格 - 它们浮动在它们上方并具有自己的坐标。如果要将它们浮动到特定单元格上方,可以获取该单元格的坐标并使用它们。
因此,如果您想将其浮动到单元格C9上方,请尝试
left = xl.ActiveSheet.Range('C9').Left;
top = xl.ActiveSheet.Range('C9').Top;
xl.ActiveSheet.Shapes.AddPicture('myPicPath',0,1,left,top,myPicHeight,myPicWidth)
其中xl是包含对Excel应用程序的引用的变量。
请注意,如果您随后调整大小或以其他方式移动任何单元格,则形状/图像的位置不会改变 - 您需要使用相同的方法重新定位它。