Be the first user to complete this post
|
Add to List |
VBA-Excel: Add/Insert multiple Images/Pictures from a folder in Word Document
To Add or Insert Multiple Images or Pictures in Microsoft Word Document using Microsoft Excel, you need to follow the steps below:
- Declare END_OF_STORY and MOVE_SELECTION as variables
- Assign MOVE_SELECTION =0 and END_OF_STORY = 6
- Create the object of Microsoft Word
- Create the object of FileSystemObject
- Create Folder object using FileSystemObject and GetFolder method
- 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.
- Access Folder files using Folder object
- Get the image paths from the folder
- Insert image in the word documents using AddPicture()
- Insert a page break after every image
Declare END_OF_STORY and MOVE_SELECTION as variables
Dim END_OF_STORY
Dim MOVE_SELECTION
Assign MOVE_SELECTION =0 and END_OF_STORY = 6
END_OF_STORY = 6
MOVE_SELECTION = 0
Create the object of Microsoft Word
Set objWord = CreateObject(“Word.Application”)
Create the object of FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
Create Folder object using FileSystemObject and GetFolder (link) method
Set objFolder = objFSO.GetFolder(strFolderPath)
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
Access Folder files using Folder object
objFolder.Files
Get the image paths from the folder
ImgPath = Img.Path
Insert image in the word documents using AddPicture()
objSelection.InlineShapes.AddPicture (ImgPath)
Insert a page break after every image
objSelection.insertbreak
Complete Code:
Function FnInsertMultipleImages(strFolderPath) Dim objWord Dim objDoc Dim objSelection Dim objShapes Dim objFSO Dim objFolder Set objWord = CreateObject("Word.Application") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolderPath) Set objDoc = objWord.Documents.Open("D:\OpenMe.docx") objWord.Visible = True Set objSelection = objWord.Selection For Each Img In objFolder.Files ImgPath = Img.Path objSelection.InlineShapes.AddPicture (ImgPath) objSelection.insertbreak Next End Function
Also Read:
- VBA-Excel: Format already written text in a word document – Format All Content
- VBA-Excel: Consolidator – Merge or Combine Multiple Excel Files Into One
- VBA-Excel: Working with Bookmarks- Insert text before Bookmark
- VBA-Excel: Create worksheets with Names in Specific Format/Pattern.
- Excel-VBA : Send Mail with Embedded Image in message body From MS Outlook using Excel.