#1
|
|||
|
|||
Word - Resize image to specified selected cells' dimensions
What would be helpful is if there were a way to write the code so that the image is resized to the size of the cell (it is actually a merged set of cells), that it is being placed into.
I do not want to go through every one and figure out the width and height for each cell and type in the corresponding values for every cell, (it might take me one day). Essentially I need to maintain the aspect ratio of the image file, and fill the target cell(s) without exceeding their boundaries. Code:
Sub FitPics() Application.ScreenUpdating = False Dim Tbl As Table, iShp As InlineShape With ActiveDocument For Each Tbl In .Tables For Each iShp In Tbl.Range.InlineShapes With iShp .LockAspectRatio = msoTrue If .Height > .Range.Cells(1).Height Then .Height = .Range.Cells(1).Height End If If .Height < .Range.Cells(1).Height Then .Height = .Range.Cells(1).Height End If If .Width > .Range.Cells(1).Width Then .Width = .Range.Cells(1).Width End If If .Width < .Range.Cells(1).Width Then .Width = .Range.Cells(1).Width End If End With Next Next End With Application.ScreenUpdating = True End Sub |
#2
|
||||
|
||||
If your table has fixed cell widths and heights, any images you insert into it, other than by dragging or copying them from elsewhere in a document, will automatically resize to optimally fill the space available while retaining the correct aspect ratio.
As for "I do not want to go through every one and figure out the width and height for each cell and type in the corresponding values for every cell", to justify that on the basis of "it might take me one day" seems nothing more than a pretext. How else would you propose to do it?
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
||||
|
||||
Cross-posted at: http://answers.microsoft.com/en-us/o...6-bc3837ccb721
For cross-posting etiquette, please read: http://www.excelguru.ca/content.php?184
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#4
|
|||
|
|||
Meaning of figure of height and width that i don't want to change h & w in code for each cells as i mention that all the cells have different size. i actually need one macro that resize any picture with size of selected cell.
|
#5
|
||||
|
||||
Quote:
Your code could be made more efficient, though: Code:
Sub FitPics() Application.ScreenUpdating = False Dim Tbl As Table, iShp As InlineShape With ActiveDocument For Each Tbl In .Tables For Each iShp In Tbl.Range.InlineShapes With iShp .LockAspectRatio = msoTrue .Height = .Range.Cells(1).Height If .Width > .Range.Cells(1).Width Then .Width = .Range.Cells(1).Width End If End With Next Next End With Application.ScreenUpdating = True End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#6
|
|||
|
|||
Its work good but no as i want, if original picture height > width then after running code its resize on width and crop height with picture size. or if width > height then code resize width only with cell size.
|
#7
|
||||
|
||||
Quote:
Quote:
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#8
|
||||
|
||||
I see you've now had the temerity to cross-post my code on other sites (http://windowssecrets.com/forums/sho...height-exactly & http://www.vbaexpress.com/forum/show...-cells-in-word) without attribution and without observing the cross-posting etiquette.
THREAD CLOSED.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
Tags |
ms word 2010, picture format, word vba macro |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Word template that automatically resize's and formats image layout | vikkitoria60 | Word VBA | 3 | 09-30-2015 01:16 PM |
Insert and resize image | lenguyenleduong | Word VBA | 2 | 05-11-2014 07:23 AM |
Shortcut for image resize | Hatthans | PowerPoint | 0 | 01-06-2014 04:32 PM |
How to resize the image in the header so that it fits the page | Isadora | Excel | 1 | 08-20-2013 06:02 AM |
Image proportional resize not functioning! | alexfcm | PowerPoint | 0 | 09-27-2012 07:22 AM |