View Single Post
 
Old 10-17-2015, 12:33 PM
FaizanRoshan FaizanRoshan is offline Windows 8 Office 2010 64bit
Novice
 
Join Date: Oct 2015
Posts: 3
FaizanRoshan is on a distinguished road
Default 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
Attached Images
File Type: png Sample.png (5.6 KB, 28 views)