Be the first user to complete this post

  • 0
Add to List

VBA-Excel: Add/Insert a Image/Picture in Word Document

To Add or Insert Images or Pictures in Microsoft Word Document using Microsoft Excel, you need to follow the steps below:

  • Create the object of Microsoft Word
  • Using MS word object, Open the existing word document by providing the complete path
  • Make the MS Word visible
  • Create a Selection object with the help of WordObject.
  • Set  Shapes object using InlineShapes
  • Insert image in the word documents using AddPicture()

Create the object of Microsoft Word

Set objWord = CreateObject(“Word.Application”)

Using MS word object, Open the existing word document by providing the complete path

Set objDoc = objWord.Documents.Open("D:\OpenMe.docx")

Make the MS Word Visible

objWord.Visible = True

Create a Selection object with the help of WordObject.

Set objSelection = objWord.Selection

Set  Shapes object using InlineShapes

Set objShapes = objDoc.InlineShapes

Insert image in the word documents using AddPicture()

objShapes.AddPicture (strCompleteImagePath)

Complete Code:

Function FnImageInsert(strCompleteImagePath)

   Dim objWord

   Dim objDoc

   Dim objSelection

 Dim objShapes    

   Set objWord = CreateObject("Word.Application")

   Set objDoc = objWord.Documents.Open("D:\OpenMe.docx")

   objWord.Visible = True    

   Set objSelection = objWord.Selection

   objSelection.TypeText (vbCrLf & "One Picture will be inserted here....")

   Set objShapes = objDoc.InlineShapes

 objShapes.AddPicture (strCompleteImagePath)        

End Function

 Call FnImageInsert("D:\After_Rain.jpg")

Insert image in Word Document
Insert image in Word Document



Also Read:

  1. VBA-Excel: Read Data from XML File
  2. VBA-Excel: Open and Print the Word Document
  3. Excel-VBA : Send Mail with Embedded Image in message body From MS Outlook using Excel.
  4. VBA-Excel: Appending Text to Existing Word Document - at Beginning
  5. Excel-VBA : Send Unique Images Embedded to Mail Body, With Every Mail From MS Outlook using Excel.