Not sure why, but see what happens.
Sub DRILL_XFER()
'
' DRILL PL TRANSFER MACRO
' TRANSFER DRILLS AND PLS DAILY DURING CLOSE
'
Dim e, msg As String, fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
For Each e In Array(Array("C:\Test_A\29DVS - 2018-12-31.xls", "C:\Test_B\29DVS - 12-2018.xls"), _
Array("C:\Test_C\US WEST REGIONCOMP.xls", "C:\Test_D\US WEST REGIONCOMP - 2018-12-31.xls"))
If fso.FileExists(e(0)) Then
If Not IsFileOpen(CStr(e(0))) Then
fso.CopyFile e(0), e(1), True
Else
msg = msg & vbLf & e(0) & " is in use"
End If
Else
msg = msg & vbLf & e(0) & " is not found"
End If
Next
If Len(msg) Then
Sheets.Add.Cells(1).Resize(UBound(Split(msg, vbLf)) + 1).Value = _
Application.Transpose(Split(msg, vbLf))
Else
MsgBox "Drill & PL Transfer is Complete"
End If
End Sub
Function IsFileOpen(fName As String) As Boolean
Dim ff As Integer, errNum As Integer
On Error Resume Next
ff = FreeFile
Open fName For Input Lock Read As #ff
Close ff
errNum = Err
On Error GoTo 0
IsFileOpen = (errNum <> 0)
End Function
Bookmarks