이 기사에서는 파일 경로에서 파일 이름과 폴더 이름을 추출하는 사용자 지정 함수를 작성하기위한 VBA 코드를 공유했습니다.

이 예제의 원시 데이터는 특정 파일의 전체 경로를 지정합니다.

RawData

논리 설명

이 예에서는 파일 또는 폴더 이름을 출력으로 반환하는 VBA 사용자 지정 함수 “FileOrFolderName”을 만들었습니다.

“FileOrFolderName”함수는 두 개의 매개 변수를 입력으로받습니다. 첫 번째 매개 변수는 파일 경로를 입력으로 사용합니다. 두 번째 매개 변수는 부울 값을 입력으로 사용합니다. 파일 이름을 출력으로 원하면 True 값을이 매개 변수에 할당하고 폴더 이름을 출력으로 원하면이 매개 변수에 False 값을 할당합니다.

파일 경로에서 파일 이름과 폴더 이름을 분리하기 위해 먼저 파일 경로 내에서 경로 구분자가 마지막으로 발생하는 위치를 찾습니다. 경로 구분자가 마지막으로 발생한 후에는 파일 이름과 폴더 이름을 텍스트로 쉽게 구분할 수 있습니다. 경로 구분자의 오른쪽에는 파일 이름이 있고 경로 구분자의 왼쪽에는 폴더 이름이 있습니다.

파일 경로에 경로 구분자가 없으면 기본 디렉토리 경로가 폴더 이름으로 지정됩니다.

사용자 정의 함수 실행

정의 된 사용자 지정 함수를 사용하려면 C14 셀로 이동하여 = FileOrFolderName (B14, FALSE) 함수를 입력하고 D14 셀에 = FileOrFolderName (B14, TRUE) 함수를 입력합니다. 여기서 셀 B14에는 파일 경로가 포함됩니다.

Cell C14는 폴더 이름을 제공하고 Cell D14는 파일 이름을 제공합니다.

ArrowAfterRunningMacro

아래 코드를 따르세요

Function FileOrFolderName(InputString As String, _

ReturnFileName As Boolean) As String



'Returns the foldername or the filename based on boolean value assigned

Dim i As Integer, FolderName As String, FileName As String

i = 0

'Code used for finding the position of last occurence of path separator

While InStr(i + 1, InputString, Application.PathSeparator) > 0

i = InStr(i + 1, InputString, Application.PathSeparator)

Wend

'Extract the folder path

'If No occurence of path separator is found then assign the default directory path

If i = 0 Then

FolderName = CurDir

Else

FolderName = Left(InputString, i - 1)

End If

'Extracting the file name

FileName = Right(InputString, Len(InputString) - i)

'Returning the folder or file name from function based on ReturnFileName parameter

If ReturnFileName Then

FileOrFolderName = FileName

Else

FileOrFolderName = FolderName

End If

End Function

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요