2013-08-21 4 views
0
Public Function modCreditmove() 
Dim fso, CB As String 
Set fso = CreateObject("Scripting.FileSystemObject") 
CB = ("H:\Credit*.xls") 
If CB > 0 Then 
fso.MoveFile ("H:\Credit*.xls"), "H:\Credit_Archive\" 
End If 

End Function 

이것은 내가 파일을 이동하기 위해 사용하고있는 코드입니다. 이동하려는 파일이있을 때 작동하는 코드가 있었고 이동할 파일이 없을 때 오류 코드를 던졌습니다. 그래서 시도했습니다. if 문을 추가하여 오류 메시지가 나타나지 않고 런타임 오류 '13'이 발생했습니다. 유형 불일치로 인해 누군가가 도움을받을 수 있으므로 올바른 방법으로이 작업을 수행 할 수 있습니다. 감사합니다VBA 액세스 점점 런타임 오류 '13'; 유형 불일치

답변

1

CB는 String 유형입니다. 그래서 CB> 0 일 때, 그것을 Integer로 사용하려합니다.

패턴에 파일이 있는지 확인하려면 Dir을 사용할 수 있습니다. 결과가 빈 문자열이면 아무 것도 발견되지 않으므로 dir이 비어있는 것 이외의 값을 반환 할 때 파일을 이동하려고합니다.

Dim fso 
Dim filePattern As String 

filePattern = "H:\Credit*.xls" 
If Dir(filePattern) <> "" Then 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    fso.MoveFile filePattern, "H:\Credit_Archive\" 
End If 

Dir은 와일드 카드 패턴을 허용하므로 정확히 원하는대로 작동한다고 생각합니다.

+0

. 그래서 내가 적어도 h 드라이브를 이동해야하는 경우에만 작동하는지 확인하고 싶다면이 코드를 어떻게 작성합니까? – ELS31987

+0

오, 이해합니다. 해결책을 제공하기 위해 편집합니다. –

관련 문제