Показать сообщение отдельно
Старый 14.08.2006, 09:23   #5  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Вот выдрал кусок, тут небльшие заморочки.
fPar - диапазон ячеек в которые нужно вписать картинку
fPar2 - путь к файлу
Картинка автомасштабируется с сохранением пропроций
Код:
 
	  'P': IF NextParam(fStr,fPar) THEN BEGIN
			 IF NextParam(fStr,fPar2) THEN BEGIN
			   XlsShapes:=XlsWsh.Shapes;
			   XlsRng:=XlsWsh.Range(fPar);
			   EVALUATE( PicLeft,FORMAT(XlsRng.Left));
			   EVALUATE( PicTop,FORMAT(XlsRng.Top));
			   EVALUATE( PicWidth,FORMAT(XlsRng.Width));
			   EVALUATE( PicHeight,FORMAT(XlsRng.Height));

			   XlsShape:=XlsShapes.AddPicture(fPar2,1,1,PicLeft,PicTop,PicWidth,PicHeight);
				 i:=0;
				 XlsShape.LockAspectRatio:=i;
				 i:=2;
				 j:=-1;
				 XlsShape.ScaleHeight(i,j);
				 XlsShape.ScaleWidth(i,j);

				 XlsShape.LockAspectRatio:=-1;
				 IF XlsShape.Width>PicWidth THEN
				   XlsShape.Width:=PicWidth;
				 IF XlsShape.Height>PicHeight THEN
				   XlsShape.Height:=PicHeight;

				 XlsShape.IncrementLeft((PicWidth-XlsShape.Width)/2);
				 XlsShape.IncrementTop((PicHeight-XlsShape.Height)/2);
			   //MESSAGE(FORMAT((PicHeight-XlsShape.Height)/2));

			 END;
		   END;