VBA에서 Excel 파일 이름/경로를 가져오는 방법
예를 들어, 저는 제 엑셀 파일 sample.xls 안에 VBA를 쓰고 있습니다.이제 저는 샘플의 전체 경로를 얻고 싶습니다.내 VBA의 xls.제가 그걸 어떻게 합니까?
VBA를 의미하는 경우 FullName(전체 이름)을 사용할 수 있습니다. 예:
strFileFullName = ThisWorkbook.FullName
(댓글에 의해 고려된 바와 같이: 전자가 사용되었습니다.ActiveWorkbook.FullName다른 사무실 파일이 열려 있고 활성화되어 있는 경우 오류가 발생할 가능성이 높습니다.그러나 여기서 사용자 @user7296559가 언급한 것처럼 매크로를 다른 파일에 저장하여 매크로를 사용하는 파일의 파일 이름을 정말 원하는 경우,ActiveWorkbook실행 시 활성화가 보장되는 경우 올바른 선택일 수 있습니다.)
모든 응답(전체 이름, 경로, 파일 이름)을 제공하는 간단한 대안입니다.
Dim FilePath, FileOnly, PathOnly As String
FilePath = ThisWorkbook.FullName
FileOnly = ThisWorkbook.Name
PathOnly = Left(FilePath, Len(FilePath) - Len(FileOnly))
strScriptFullname = WScript.ScriptFullName
strScriptPath = Left(strScriptFullname, InStrRev(strScriptFullname,"\"))
경로만 필요한 경우 가장 간단한 방법은 다음과 같습니다.
PathOnly = ThisWorkbook.Path
파일 이름 없이 경로만 필요한 경우:
ActiveWorkbook.Path
D:\폴더
파일 이름을 가진 파일 경로가 필요한 경우:
ActiveWorkbook.FullName
D:\폴더\샘플.xls
파일 이름만 필요한 경우:
ActiveWorkbook.Name
샘플을 반환할 것입니다.xls
따라서 파일 경로와 파일 이름을 결합하여 전체 디렉터리를 가져오려면 ""를 사이에 추가하는 것을 잊지 마십시오.그렇지 않으면 를 사용하는 것이 더 간단합니다.경로.
활성 워크북입니다.FullName은 VBA 매크로가 다른 Excel 워크북에 저장되어 있지만 매크로가 있는 곳이 아니라 편집 중인 Excel의 세부 정보를 얻고자 하는 경우에 더 좋을 것 같습니다.
파일이 같은 파일에 있으면 상관없지만 다른 파일에 있고 매크로가 있는 위치가 아닌 데이터가 있는 파일을 원하는 경우에는 Active Workbook이 두 시나리오를 모두 처리하기 때문에 사용할 수 있습니다.
이를 위한 보편적인 방법은 다음과 같습니다.
Function FileName() As String
FileName = Mid(Application.Caption, 1, InStrRev(Application.Caption, "-") - 2)
End Function
언급URL : https://stackoverflow.com/questions/1895616/how-to-get-the-excel-file-name-path-in-vba
'sourcecode' 카테고리의 다른 글
| 목록에 없는 값에 바인딩된 편집 가능한 ComboBox (0) | 2023.04.28 |
|---|---|
| 단일 명령으로 Excel 셀의 내용 및 형식 지우기 (0) | 2023.04.28 |
| C# - Excel의 모든 행을 반복하는 방법._워크시트? (0) | 2023.04.28 |
| Angular와 함께 jQuery를 사용하는 방법은 무엇입니까? (0) | 2023.04.28 |
| 새 항목이 추가될 때 ListBox 자동 스크롤을 사용하려면 어떻게 해야 합니까? (0) | 2023.04.28 |