source

VBA를 사용하여 Excel 시트를 현재 디렉토리에 저장

manycodes 2023. 6. 10. 09:31
반응형

VBA를 사용하여 Excel 시트를 현재 디렉토리에 저장

저는 vba Excel에 시트를 만들었습니다.현재 디렉터리를 저장하고 싶지만 절대 경로가 아닌 경우 다른 곳에서 실행해도 문제가 없습니다.

누가 도와줄 수 있어요?

당신의 상황이 정확히 무엇을 필요로 하는지는 모르겠지만, 다음과 같은 것들이 당신을 시작하게 할 수도 있습니다.여기서 핵심은 사용하는 것입니다.ThisWorkbook.Path상대 파일 경로를 가져오려면:

Sub SaveToRelativePath()
    Dim relativePath As String
    relativePath = ThisWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name
    ActiveWorkbook.SaveAs Filename:=relativePath
End Sub

VBA에는 Excel에 저장된 "현재 디렉터리"를 반환하는 CurDir 키워드가 있습니다.현재 디렉토리에 영향을 주는 모든 것이 있는지는 모르겠지만 워크북을 열거나 저장하면 디렉토리가 변경됩니다.

MyWorkbook.SaveAs CurDir & Application.PathSeparator & "MySavedWorkbook.xls"

이렇게 하면 저장할 시트가 저장되지 않았으며 파일 이름을 코드로 정의하려고 합니다.

경로를 생략하면 파일이 현재 디렉터리에 자동으로 저장됩니다.다음과 같은 방법을 사용해 보십시오.

ActiveWorkbook.SaveAs "Filename.xslx"

한 단계 더 나아가 파일을 상대 디렉터리에 저장하려면 바꾸기 기능을 사용할 수 있습니다.워크북을 c:\property\california\sacramento\workbook.xlsx에 저장했다고 가정하면 속성을 버클리로 이동할 수 있습니다.

workBookPath = Replace(ActiveWorkBook.path, "sacramento", "berkley")
myWorkbook.SaveAs(workBookPath & "\" & "newFileName.xlsx"

파일 구조에 대체에 사용된 텍스트의 인스턴스가 하나 포함된 경우에만 작동합니다.YMMV.

언급URL : https://stackoverflow.com/questions/4497646/saving-an-excel-sheet-in-a-current-directory-with-vba

반응형