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:
- Excel-VBA : Prevent Changing the WorkSheet Name
- VBA-Excel: Add Table and fill data to the Word document
- Excel-VBA : Send a Mail using Predefined Template From MS Outlook Using Excel
- VBA-Excel: Format already written text in a word document – Format All Content
- VBA-Excel: Appending Text to Existing Word Document - at Beginning