2017-11-07 10 views
0

내 Personal.xlsb 파일에 내 매크로를 가져 왔으며 통합 문서와 같은 디렉터리에 파일을 저장하려고합니다. 나는 매크로를 적용 할 것이다. 은 현재 내가 사용하는 경우 :VBA - Personal.xlsb에서 매크로를 실행하는 경우 통합 문서 경로/위치를 얻는 방법

Application.ThisWorkbook.Path 

그것은 (매크로에서 유래) Personal.xlsb의 위치가 아니라 통합 문서의 디렉토리를 받고. 누군가 내 워크 북에 모듈을 추가하지 않고 어떻게이 문제를 해결할 수 있는지 알려주실 수 있습니까?

+2

'ActiveWorkbook.Path'는 활성 통합 문서의 경로를 제공합니다. 코드를 표시하면 해당 코드를 사용하는 것이 적절한 지 또는 'Path' 속성을 사용해야하는 다른 통합 문서 객체인지 여부를 결정하는 데 도움을 줄 수 있습니다. – YowE3K

+0

@ YowE3K 완벽 하군, 고마워! 그게 내가 필요한 것인데, 매크로가있는 곳에서 작업했던 워크 북 대신에 워크 북을 찾을 수있는 곳이다. 다시 한번 감사의 말을 전한다. : D 문제가 해결되었습니다! – ianquiksilver

+1

@ YowE3K 답변을 작성하여 질문에 답변으로 표시하십시오. –

답변

3

Path 속성은 모든 Workbook 개체에서 사용할 수 있습니다. ThisWorkbook 개체가 아닙니다.

따라서 ActiveWorkbook의 경로를 얻으려면 ActiveWorkbook.Path을 사용할 수 있습니다.

Dim wb As Workbook 
Set wb = Workbooks.Open("C:\Temp\Test\File1.xlsx") 

은 다음 wb.Path을 사용할 수 있습니다, 물론, "C:\Temp\Test"을 반환 : 당신이있는 경우

은 또는, 예를 들어, 같은 것을 사용하여 통합 문서를 열었습니다.

+0

환호! 내 경우에는 여러 곳의 여러 파일에서 매크로를 실행하여 같은 디렉토리에 CSV 파일을 작성하므로 동적 솔루션이 필요합니다. :) – ianquiksilver