본문 바로가기
VBA

VBA 파일목록 검색

by 융댜 2019. 4. 19.
반응형

파일이 존재하는지 확인하는 메소드

'//----------------------------------------
'// Description 파일이 존재하는지 확인
'// Arguments strFileName As String-파일명
'// Returns True-존재,False-존재않음
'//----------------------------------------
Private Function FileExists(ByVal strFileName As String) As Boolean
   If Len(Dir(strFileName)) <> 0 Then 
      FileExists = True 
   Else 
      FileExists = False
   End If
End Function

 

폴더가 존재하는지 확인하는 메소드

'//----------------------------------------
'// Description 폴더가 존재하는지 확인
'// Arguments strDirName As String-폴더명
'// Returns True-존재,False-존재않음
'//----------------------------------------
Function DirExists(ByVal strDirName As String) As Integer
   Dim strDummy As String
   On Error Resume Next
   If Right$(strDirName, 1) <> "\" Then
      strDirName = strDirName & "\"
   End If
   strDummy = Dir$(strDirName & "*.*", vbDirectory)
   DirExists = Not (strDummy = vbNullString)
   Err = 0
End Function

 

지정한 폴더의 파일목록을 취득하는 메소드

‘//----------------------------------------
'// Description 지정한 폴더의 파일목록을 취득
'// strDirPath As String - 검색할 폴더명
'// Optional strFileSpec As String = "*.*" - 검색할 파일 조건, 기본값(모든파일)
'// Optional strDelim As String = "," - 돌려줄 파일목록을 구분하는 기호, 기본값(,)
'// Returns 파일목록 문자열
'//----------------------------------------
Function GetFileList(strDirPath As String, _
                 Optional strFileSpec As String = "*.*", _
                 Optional strDelim As String = ",") As String
   Dim strFileList As String
   Dim strFileNames As String
   Dim strTemp As String

   strDirPath = IIf(Right(strDirPath, 1) <> Application.PathSeparator, strDirPath & Application.PathSeparator, strDirPath)
   strFileNames = strDirPath & strFileSpec
   strTemp = Dir(strFileNames)

   Do Until Len(strTemp) = 0
      strFileList = strFileList & strTemp & strDelim
      strTemp = Dir()
   Loop
   GetFileList = IIf(Len(strFileList) > 1, Left(strFileList, Len(strFileList) - 1), "")
End Function
반응형

댓글