我的Delphi 6程序需要在Excel工作表的每一行上放置一个图像。 我可以将图片插入固定位置,并将其从另一篇文章中读取。
procedure insertImages(ActiveSheet: OleVariant; ImageFilePath: String; ImageHeight, PictureTop, PictureLeft: Integer);
var
Picture: OleVariant;
begin
try
Picture := ActiveSheet.Pictures.Insert(ImageFilePath);
Picture.Width := ImageHeight * Picture.Width /Picture.Height;
Picture.Height := ImageHeight;
Picture.ShapeRange.Left := PictureLeft;
Picture.ShapeRange.Top := PictureTop;
Picture.Placement := xlMove;
except
end; //try
end; //insertImages;
上面的代码工作正常,但是我无法通过PictureTop和PictureLeft参数来使它在每行的第二列上有不同的图像?
如何获取特定单元格的Top和Left值? 或者有更好的方法吗?
请帮忙。
答案 0 :(得分:4)
例如,如果您使用;
ActiveSheet.Cells[2, 2].Select;
ActiveSheet.Pictures.Insert(ImageFileName);
那么你的图片的顶部等于Cell [2,2]的顶部,而图片的左边等于Cell [2,2]的左边