Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #6  
Old 07-15-2014, 03:26 AM
macropod's Avatar
macropod macropod is offline Batch Processing Loop Issue Windows 7 32bit Batch Processing Loop Issue Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 22,467
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

The basic problem with your code is that the Dir inside the loop wipes out the data for the outer Dir. Try:
Code:
Sub Case_Image()
Dim strFldr As String, strDocs As String, strImgs As String, strPath As String, StrImg As String
Dim wdDoc As Document, Rng As Range, i As Long
strPath = "C:\Cases\" '>>>>> change folder path if cases stored in different folder
strFldr = Dir(strPath & "*.doc", vbNormal) '>>>>> check if doc or docx and change accordingly
'Build document & image lists
While strFldr <> ""
  strImgs = strImgs & vbCr & strPath & "\images\" & Left(strFldr, InStrRev(strFldr, ".")) & "jpg"
  strDocs = strDocs & vbCr & strPath & strFldr
  strFldr = Dir()
Wend
'Loop through the lists to match documents with images
For i = 1 To UBound(Split(strDocs, vbCr))
  'If the document and its image are both found, add the image to the document
  If (Dir(Split(strImgs, vbCr)(i), vbNormal) <> "") And (Dir(Split(strDocs, vbCr)(i), vbNormal) <> "") Then
    Set wdDoc = Documents.Open(Split(strDocs, vbCr)(i), AddToRecentFiles:=False)
    With wdDoc
      .Range.Characters.First.InsertBreak wdPageBreak
      Set Rng = .Range.Characters.First
      Rng.Collapse wdCollapseStart
      .InlineShapes.AddPicture FileName:=Split(strImgs, vbCr)(i), _
        LinkToFile:=False, SaveWithDocument:=True, Range:=Rng
      .Close True
    End With
  'If the image is missing, report it
  ElseIf (Dir(Split(strImgs, vbCr)(i), vbNormal) <> "") Then
    MsgBox Split(strImgs, vbCr)(i) & vbCr & "Not found", vbInformation
  End If
Next
Set Rng = Nothing: Set wdDoc = Nothing
MsgBox "", vbInformation, "Folder consolidated"
End Sub
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
 

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Batch Processing Loop Issue batch file romanticbiro Office 1 06-30-2014 06:04 PM
Batch adding Metadata to Docs AndyTake2 Word 0 02-01-2013 10:18 AM
Batch Processing Loop Issue Batch create Word documents cdfj Word VBA 6 11-07-2012 01:03 PM
Batch Processing Loop Issue Batch Edit Links tosti PowerPoint 5 01-31-2012 12:51 PM
Batch Processing Loop Issue Processing Time Intervals pkrishna Excel 5 09-30-2011 06:24 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:18 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft