Add Custom Border To All Pictures

Learn VBA Macros From Microsoft Word Code Vault Snippets

What This VBA Code Does

This VBA code will apply a custom border to all the pictures in your Word Document.

Sub AddBorderToAllPictures()

'PURPOSE: Add borders around all images in the document
'SOURCE: www.TheSpreadsheetGuru.com

Dim myPic As InlineShape

'Loop Through All Pictures (aka Inline Shapes) in Document
    For Each myPic In ActiveDocument.InlineShapes
        
        'Border Thickness
            myPic.Line.Weight = 5
        'Border Line Style
            myPic.Line.Style = msoLineSingle
        'Border Color
            myPic.Line.ForeColor.RGB = RGB(191, 219, 255)
    
    Next myPic

End Sub

Adding Variability

Let's modify the above code a little bit and allow the user to cycle through each of the pictures in the Word document and decide whether the picture should have a border.

Sub AddBorderToAllPictures_AskUser()

'PURPOSE: Loop through all images in ActiveDocument and ask if border should be added
'SOURCE: www.TheSpreadsheetGuru.com

Dim myPic As InlineShape
Dim MyAnswer As Integer

'Loop Through All Pictures (aka Inline Shapes) in Document
    For Each myPic In ActiveDocument.InlineShapes
        'Select Image so user can see what image we are talking about
            myPic.Select
        
        'Ask and receive verification from user via Messagebox
            MyAnswer = MsgBox("Do you wish to add border to selected image?", vbYesNo, "Add Border")
        
        'See if User wants to add border
            If MyAnswer = vbYes Then
                AddBorder = Dialog
                'Border Thickness
                    myPic.Line.Weight = 5
                'Border Line Style
                    myPic.Line.Style = msoLineSingle
                'Border Color
                    myPic.Line.ForeColor.RGB = RGB(191, 219, 255)
            End If
        
    Next myPic

End Sub

How Do I Modify This To Fit My Specific Needs?

Chances are this post did not give you the exact answer you were looking for. We all have different situations and it's impossible to account for every particular need one might have. That's why I want to share with you: My Guide to Getting the Solution to your Problems FAST! In this article, I explain the best strategies I have come up with over the years to getting quick answers to complex problems in Excel, PowerPoint, VBA, you name it

I highly recommend that you check this guide out before asking me or anyone else in the comments section to solve your specific problem. I can guarantee 9 times out of 10, one of my strategies will get you the answer(s) you are needing faster than it will take me to get back to you with a possible solution. I try my best to help everyone out, but sometimes I don't have time to fit everyone's questions in (there never seem to be quite enough hours in the day!).

I wish you the best of luck and I hope this tutorial gets you heading in the right direction!

Chris "Macro" Newman :)