Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 11-28-2023, 09:42 AM
Italophile Italophile is online now 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: 563
Italophile is just really niceItalophile is just really niceItalophile is just really niceItalophile is just really nice
Default


The following works in O365:
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 = wdAlignRowCenter
            .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
                .ParagraphFormat.Alignment = wdAlignParagraphLeft
                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)
                        .SpaceBeforeAuto = False
                        .SpaceAfterAuto = False
                    End With
                End With
            End With
            With imgTable.Cell(index, 2).Range.ParagraphFormat
                .RightIndent = InchesToPoints(0.01)
                .Alignment = wdAlignParagraphLeft
                .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
                .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
There are a number of lines of code, aside from those I have commented out, that I consider unnecessary. As I have no knowledge of why these lines were included I have left them in, although I suspect they were probably the product of the macro recorder and never did serve any useful purpose.

Last edited by Italophile; 11-28-2023 at 02:16 PM. Reason: Corrected underline
Reply With Quote
  #2  
Old 11-28-2023, 01:49 PM
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

The macro you posted produces a very similar result to our prior macro, with the exception of a continuous underline below "Photograph No. X:" and a space between successive photos. Can those attributes be added?

Thank you for the prompt response! I'm truly impressed and appreciative.
Reply With Quote
Reply

Thread Tools
Display Modes


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 08:38 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