Вставьте изображение в каждой строке в листе Excel с Delphi - PullRequest
1 голос
/ 16 августа 2010

Моя программа 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 для конкретной ячейки? Или есть лучший способ сделать это?

Пожалуйста, помогите.

1 Ответ

4 голосов
/ 16 августа 2010

Например, если вы используете;

ActiveSheet.Cells[2, 2].Select;
ActiveSheet.Pictures.Insert(ImageFileName);

тогда верхняя часть вашего изображения равна верхней части ячейки [2, 2], а левая часть изображения равна левой части ячейки [2, 2]

...