Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 11-29-2023, 07:07 AM
Italophile Italophile is offline Insert Batch Image Code - VBA / MS 365 Troubleshooting Windows 11 Insert Batch Image Code - VBA / MS 365 Troubleshooting Office 2021
Expert
 
Join Date: Mar 2022
Posts: 554
Italophile is just really niceItalophile is just really niceItalophile is just really niceItalophile is just really nice
Default


Quote:
Originally Posted by Rfuchs730 View Post
just for spacing between the photos.
The code below adds a 12 point space to the top of the cells from row 2 onwards.

Code:
Sub InsertMultipleImagesFixed()
    Dim fd As FileDialog
    Dim imgCount As Long
    Dim imgTable As Table
    Dim index As Long
    Dim img As InlineShape
    Dim imageLoc As Variant

    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
    End With
    If fd.Show = -1 Then
        imgCount = fd.SelectedItems.Count

        With ActiveDocument
            With .Content.Find
                .Replacement.ClearFormatting
                .Text = "TotalImageNumber"
                .Replacement.Text = imgCount
                .Execute Replace:=wdReplaceAll
            End With
            Set imgTable = .Tables.Add(Range:=.Characters.Last, NumRows:=imgCount, NumColumns:=2)
        End With

        'apply table settings
        With imgTable
            .Borders.Enable = False
            .PreferredWidthType = wdPreferredWidthPercent
            .PreferredWidth = 100
            .Rows.Alignment = wdAlignRowLeft
            .Columns(1).Width = 140
            .Columns(2).Width = 400
        End With
        
        'loop through table adding images and text
        For index = 1 To imgCount

            With imgTable.Cell(index, 1).Range
                With .ParagraphFormat
                    If index > 1 Then .SpaceBefore = 12
                End With
                With .Font
                    .Size = 12
                    .Underline = wdUnderlineSingle
                End With
                .Text = "Photograph No. " & index & ":"
                .Characters(.Characters.Count - 1).Font.Underline = wdUnderlineNone
                .InsertParagraphAfter
                With .Paragraphs.Last.Range
                    .Font.Underline = wdUnderlineNone
                    With .ParagraphFormat
                        .RightIndent = InchesToPoints(0.02)
                        .SpaceBefore = 0
                        'the following are likely unnecessary
                        '.SpaceBeforeAuto = False
                        '.SpaceAfterAuto = False
                    End With
                End With
            End With
            With imgTable.Cell(index, 2).Range.ParagraphFormat
                .RightIndent = InchesToPoints(0.01)
                If index > 1 Then .SpaceBefore = 12
                'the following are likely unnecessary
                '.SpaceBeforeAuto = False
                '.SpaceAfterAuto = False
            End With
            'insert image
            Set img = _
                ActiveDocument.InlineShapes.AddPicture(FileName:=imageLoc & fd.SelectedItems(index), _
                LinkToFile:=False, SaveWithDocument:=True, Range:=imgTable.Cell(index, 2).Range)

            'resize image
            With img
                With .Fill
                    .Visible = msoFalse
                    .Solid
                    .Transparency = 0
                End With
                With .Line
                    .Weight = 0.75
                    .Transparency = 0#
                    .Visible = msoFalse
                End With
                'I suspect the above should simply be
                '.Fill.Visible = msoFalse
                '.Line.Visible = msoFalse
                
                .LockAspectRatio = msoTrue
                .Height = 288
                .Width = 383.75
                With .PictureFormat
                    .Brightness = 0.5
                    .Contrast = 0.5
                    .ColorType = msoPictureAutomatic
                    'these should all be unnecessary
                    '                    .CropLeft = 0#
                    '                    .CropRight = 0#
                    '                    .CropTop = 0#
                End With
            End With
        Next index
    End If
End Sub
Reply With Quote
  #2  
Old 11-29-2023, 07:55 AM
Rfuchs730 Rfuchs730 is offline Insert Batch Image Code - VBA / MS 365 Troubleshooting Windows 10 Insert Batch Image Code - VBA / MS 365 Troubleshooting Office 2021
Novice
Insert Batch Image Code - VBA / MS 365 Troubleshooting
 
Join Date: Nov 2023
Location: New York
Posts: 8
Rfuchs730 is on a distinguished road
Default

Nearly perfect! The table cells are just not centered on the page (8.5x11" size).

Thank you for the continued help.
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Insert Batch Image Code - VBA / MS 365 Troubleshooting Batch applying a macro to remove Header and Footer using Batch Auto Addin Edszx Word VBA 2 05-27-2019 11:16 PM
Insert Batch Image Code - VBA / MS 365 Troubleshooting VBA to insert an image and centralize it (code included) puff Word VBA 5 01-17-2018 04:32 PM
Single Image Selection / Shortcut Key (Mac Excel 2011) Troubleshooting chendric3 Excel Programming 0 04-14-2017 11:04 AM
Insert Batch Image Code - VBA / MS 365 Troubleshooting VBA batch file to insert text at end of 50 files slow, 90% CPU usage equalizer88 Word VBA 3 08-16-2015 04:56 PM
Insert Batch Image Code - VBA / MS 365 Troubleshooting how to batch update linked image files path? stanleyhuang Word 3 09-11-2014 12:51 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 09:10 PM.


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