2017-12-21 25 views
0

여러 파일이 들어있는 폴더의 이름에 날짜를 기반으로 특정 파일을 찾고 다른 폴더로 이동하려고합니다. 간단하게 들릴까요? 글쎄, 난"Permission Denied"오류가 발생하는 이유는 무엇입니까?

권한이

오류를 거부 얻고, 나는 내 코드가 나쁜 경우 확실하지 오전 또는이 파일 액세스 문제가 있다면. 어떤 도움을 주시면 감사하겠습니다! 내 코드는

Sub MoveFiles() 
Dim myValn As String 
Dim ws As Worksheet 
Dim ws2 As Worksheet 
Dim myDate3 As String 
Dim Wmsn As String 

    Set ws = ThisWorkbook.Worksheets("UPLOADER") 
    Set ws2 = ThisWorkbook.Worksheets("VARIABLES") 

myName = ws2.Range("B2").Value 
myValn = ws2.Range("B1").Value 
myDate3 = Format(Date, "mm-dd-yyyy") 
Wmsn = "WMS_36196_PROD_" & myDate3 & ".csv" 'trying to find the file to move with the current date in it's name 
              'example filename is WMS_36196_PROD_12-21-2017.csv 


'source path below 
FileCopy "\\Rdcicgtcuwd01p\app_log\36196_WMS\" & Wmsn, _ 
"\\olscmesf003\gcm_emea\TCU_REPORTS\APPS\Reports\Regional\Workflow Management System\2017\" 'destination path 

End Sub 
+2

수동으로 대상 디렉토리에 파일을 저장할 수 :

올바른 코드는 무엇입니까? 오류는'FileCopy ... '를 시작하는 행에 의해 리턴됩니까? –

+0

수동으로 파일을 복사/붙여 넣기 할 수 있습니다. 그 작업은 자동화하려고합니다. 그게 내가 이해하지 못하는 이유 야. 디버그 기능이'FileCopy ...'줄에 있음을 알 수있다. – Rhyfelwr

+1

대상 인수는 파일 이름을 포함해야하며 디렉토리 자체는 충분하지 않고 실패합니다. –

답변

1

@Alex K의 유용한 제안을 기반으로 코드를 수정했으며 현재 완벽하게 작동합니다. 문제는 대상에 대한 파일 이름을 지정하지 않았고 원본에 대해서만 지정했기 때문입니다. 수정 해 주셔서 감사합니다!

Sub WMS() 
Dim myValn As String 
Dim ws As Worksheet 
Dim ws2 As Worksheet 
Dim myDate3 As String 
Dim Wmsn As String 
Dim Wmsn2 As String 

    Set ws = ThisWorkbook.Worksheets("UPLOADER") 
    Set ws2 = ThisWorkbook.Worksheets("VARIABLES") 

myName = ws2.Range("B2").Value 
myValn = ws2.Range("B1").Value 
myDate3 = Format(Date, "mm-dd-yyyy") 
Wmsn = "WMS_36196_PROD_" & myDate3 & ".csv" 
Wmsn2 = "36196_WMS_" & myDate3 & ".csv" 

'source path below 
FileCopy "\\Rdcicgtcuwd01p\app_log\36196_WMS\" & Wmsn, "\\olscmesf003\gcm_emea\TCU_REPORTS\APPS\Reports\Regional\Workflow Management System\2017\" & myValn & "\" & Wmsn2 

End Sub