Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Centering picture in Excel 2007
I have some code that sizes and centers an image in a target cell. This
works great in Excel 2000 and 2003. Unfortunately, it only does 75% of the job in Excel 2007. The scaling and horizontal position are good, but the vertical position is slightly off. Is there some difference in 2007 that I need to compensate for? Thank you in advance. The code is listed below: 'Scale correctly HeightRatio = ActiveSheet.Shapes(ActivePicture).Height / Cells(TargetLine, 6).Height WidthRatio = ActiveSheet.Shapes(ActivePicture).Width / Cells(TargetLine, 6).Width If HeightRatio = WidthRatio Then ActiveSheet.Shapes(ActivePicture).Select Selection.ShapeRange.Height = 0.95 * ActiveSheet.Shapes(ActivePicture).Height / HeightRatio Else ActiveSheet.Shapes(ActivePicture).Select Selection.ShapeRange.Width = 0.95 * ActiveSheet.Shapes(ActivePicture).Width / WidthRatio End If 'Position picture correctly With ActiveSheet.Shapes(ActivePicture) .Top = Cells(TargetLine, 6).Top + (Cells(TargetLine, 6).Height - ..Height) / 2 .Left = Cells(TargetLine, 6).Left + (Cells(TargetLine, 6).Width - ..Width) / 2 End With |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Centering picture in Excel 2007
Further investigation shows that final position does indeed have the
calculated value even though the visual position of the image is wrong. In atleast one case the top of the imported image is above the cell border, even though the .Top value is greater. Note that I am importing JPEG images of scanned sketches, although I can't imaging how that would make any difference. "ZipCurs" wrote: I have some code that sizes and centers an image in a target cell. This works great in Excel 2000 and 2003. Unfortunately, it only does 75% of the job in Excel 2007. The scaling and horizontal position are good, but the vertical position is slightly off. Is there some difference in 2007 that I need to compensate for? Thank you in advance. The code is listed below: 'Scale correctly HeightRatio = ActiveSheet.Shapes(ActivePicture).Height / Cells(TargetLine, 6).Height WidthRatio = ActiveSheet.Shapes(ActivePicture).Width / Cells(TargetLine, 6).Width If HeightRatio = WidthRatio Then ActiveSheet.Shapes(ActivePicture).Select Selection.ShapeRange.Height = 0.95 * ActiveSheet.Shapes(ActivePicture).Height / HeightRatio Else ActiveSheet.Shapes(ActivePicture).Select Selection.ShapeRange.Width = 0.95 * ActiveSheet.Shapes(ActivePicture).Width / WidthRatio End If 'Position picture correctly With ActiveSheet.Shapes(ActivePicture) .Top = Cells(TargetLine, 6).Top + (Cells(TargetLine, 6).Height - .Height) / 2 .Left = Cells(TargetLine, 6).Left + (Cells(TargetLine, 6).Width - .Width) / 2 End With |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Centering a picture in a worksheet | Excel Discussion (Misc queries) | |||
Copy Picture in Excel 2007 | Excel Worksheet Functions | |||
picture graph in Excel 2007 | Charts and Charting in Excel | |||
how to add picture to worksheet from url in Excel 2007 | Excel Programming | |||
Excel 2007 Beta 2: Chart Title Centering Suggestion | Charts and Charting in Excel |