source

VBA에서 현재 워크시트의 경로를 얻는 방법은 무엇입니까?

gigabyte 2023. 4. 9. 21:32
반응형

VBA에서 현재 워크시트의 경로를 얻는 방법은 무엇입니까?

추가 기능으로 매크로를 작성했는데 현재 실행 중인 워크시트의 경로를 가져와야 합니다.이거 어떻게 해?파일 경로(디렉토리만)를 얻으려면 어떻게 해야 합니까?

사용하다Application.ActiveWorkbook.Path경로 자체(워크북 이름 없음) 또는Application.ActiveWorkbook.FullName워크북 이름을 가진 경로의 경우.

항상 가지고 있는 것:

Dim myPath As String     
Dim folderPath As String 

folderPath = Application.ActiveWorkbook.Path    
myPath = Application.ActiveWorkbook.FullName

매크로가 실행되는 워크북의 경로를 가져오려면 다음을 사용하십시오.

Application.ThisWorkbook.Path

Application.ActiveWorkbook.Path에서는 예기치 않은 결과가 발생할 수 있습니다(예를 들어 매크로가 여러 워크북을 전환하는 경우).

가장 빠른 방법

path = ThisWorkbook.Path & "\"

저도 같은 문제가 있어서 공유할 솔루션을 구축했습니다.다음은 ActiveWorkbook의 로컬 경로를 가져오는 Excel GetLocalPath()의 VBA 함수입니다.

'GetLocalPath()를 문자열로 함수

Dim sRowPath    As String
Dim sLocalPath  As String
Dim iFindhttp   As Integer

sRowPath = Application.ActiveWorkbook.Path

If LCase(Left(sRowPath, 4)) = "http" Then
    Dim fso As New FileSystemObject
    sLocalPath = fso.GetAbsolutePathName(sRowPath)
    iFindhttp = InStr(LCase(sLocalPath), "\http")
    sLocalPath = Left(sLocalPath, iFindhttp - 1)
    Set fso = Nothing
Else
    sLocalPath = sRowPath
End If
        
GetLocalPath = sLocalPath

기능 종료

언급URL : https://stackoverflow.com/questions/2813925/how-to-get-the-path-of-current-worksheet-in-vba

반응형