Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #2  
Old 05-02-2018, 07:29 PM
jjfreedman jjfreedman is offline Insert multiple images in table with filename in column to the side Windows 10 Insert multiple images in table with filename in column to the side Office 2016
Advanced Beginner
 
Join Date: May 2012
Location: https://jay-freedman.info
Posts: 39
jjfreedman is on a distinguished road
Default

Try this.

Code:
Sub InsertMultipleImagesFixed()
Dim fd As FileDialog
Dim oTable As Table
Dim iRow As Integer
Dim iCol As Integer
Dim oCell As Range
Dim i As Long
Dim sNoDoc As String
Dim picName As String
Dim scale_Factor As Long
Dim max_height As Single
'define resize constraints
max_height = 144  ' 2 inches = 144 pt

'add a 1 row 4 column table to take the images
Set oTable = Selection.Tables.Add(Selection.Range, 1, 4)
'+++++++++++++++++++++++++++++++++++++++++++++
'oTable.AutoFitBehavior (wdAutoFitFixed)
oTable.Rows.Height = InchesToPoints(2.1)
oTable.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter
'++++++++++++++++++++++++++++++++++++++++++++++

Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Select image files and click OK"
.Filters.Add "Images", "*.gif; *.jpg; *.jpeg; *.bmp; *.tif; *.png; *.wmf"
.FilterIndex = 2
If .Show = -1 Then

For i = 1 To .SelectedItems.Count

iCol = 4
iRow = i
'get filename
'picName = Right(.SelectedItems(i), Len(.SelectedItems(i)) - InStrRev(.SelectedItems(i), "\"))
''remove extension from filename ****
'picName = Left(picName, InStrRev(picName, ".") - 1)
picName = WordBasic.FilenameInfo(.SelectedItems(i), 4)

'select cell
Set oCell = ActiveDocument.Tables(1).Cell(iRow, iCol).Range

'insert image
oCell.InlineShapes.AddPicture FileName:= _
.SelectedItems(i), LinkToFile:=False, _
SaveWithDocument:=True, Range:=oCell

'resize image
If oCell.InlineShapes(1).Height > max_height Then
scale_Factor = oCell.InlineShapes(1).ScaleHeight * (max_height / oCell.InlineShapes(1).Height)
oCell.InlineShapes(1).ScaleHeight = scale_Factor
oCell.InlineShapes(1).ScaleWidth = scale_Factor
End If

'center content
oCell.ParagraphFormat.Alignment = wdAlignParagraphCenter

'insert caption in column 4, then move it to column 3
oCell.InlineShapes(1).Range.InsertCaption Label:="Figure", TitleAutoText:="", _
Title:=": " & picName
oCell.Paragraphs(2).Range.Cut
ActiveDocument.Tables(1).Cell(iRow, iCol - 1).Range.Paste
If i < .SelectedItems.Count Then  'add another row, more to go
oTable.Rows.Add
End If
Next i
End If
End With

Set fd = Nothing
End Sub
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Insert multiple images at once from a folder beyondimage Excel 1 02-01-2017 12:58 AM
Insert multiple images in table with filename in column to the side Insert multiple images & controls into a document vanwijnen Word VBA 1 06-05-2015 06:16 AM
Insert multiple images in table with filename in column to the side Insert different images to multiple labels Ravon Word 3 10-16-2014 01:13 PM
Insert multiple images in table with filename in column to the side Insert values from multiple rows based on value in one column pachmarhi Excel 3 07-18-2014 09:57 PM
Insert multiple images in table with filename in column to the side I need to paste two images from a PDF side by side into word eof Word 15 04-10-2014 08:12 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 07:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft