Thread: [Solved] Batch Processing Loop Issue
View Single Post
 
Old 07-15-2014, 01:32 AM
chirayu's Avatar
chirayu chirayu is offline Windows 7 64bit Office 2010 64bit
Novice
 
Join Date: Jul 2014
Location: India
Posts: 4
chirayu is on a distinguished road
Default Batch Processing Loop Issue

Hi All,

I'm trying to create a Loop based code that matches the name of the file with images in a folder. If name matches then it will add a sheet and insert image in sheet. If it doesn't match then it should move on to next file in folder. I read a lot online and came up with the below but loop code not working. Code given below. Please note that I have never created a Word Macro - I work mainly on Excel

Code:
'Links Used by Chirayu Walawalkar:
'http://stackoverflow.com/questions/11564857/how-do-i-get-the-current-filename-of-a-word-document-without-the-extension-or-f
'http://word.tips.net/T000819_Determining_if_a_File_Exists.html
'http://word.tips.net/T001437_Batch_Template_Changes.html
 
Function FileThere(FileName As String) As Boolean
    FileThere = (Dir(FileName) > "")
End Function
 
'=====
 
Sub Case_Image()
 
'loop to work on all files
Dim strDocPath As String
Dim strCurDoc As String
Dim docCurDoc As Document
 
strDocPath = "C:\Cases\" '>>>>> change folder path if cases stored in different folder
strCurDoc = Dir$(strDocPath & "*.doc") '>>>>> check if doc or docx and change accordingly
Do While strCurDoc <> ""
Set docCurDoc = Documents.Open(strDocPath & strCurDoc)
 
 
'get my document name without .doc/.docx and other extensions
 
Dim doc As String
If InStrRev(ActiveDocument.Name, ".") <> 0 Then
    doc = Left(ActiveDocument.Name, InStrRev(ActiveDocument.Name, ".") - 1)
Else
    doc = ActiveDocument
End If
 
 
'check if my image exists and matches my document name
'if image found then add new page and copy image
 
If FileThere(ActiveDocument.Path & "\images\" & doc & ".jpg") Then '>>>>> relates to the function written above
Selection.InsertNewPage
Selection.InlineShapes.AddPicture FileName:= _
ActiveDocument.Path & "\images\" & doc & ".jpg", _
LinkToFile:=False, SaveWithDocument:=True
 
 
'if image not found then give me a message saying that
Else
'''''MsgBox "Image not found", vbInformation, ""
End If
docCurDoc.Save
docCurDoc.Close
 
 
' get next file name
strCurDoc = Dir$()
 
Loop
MsgBox "", vbInformation, "Folder consolidated"
 
End Sub
Reply With Quote