VBA

2009-07-14 5 views
0

을 내가 Excel 2007을 함께 일하고 Excel 2007에서 상대 경로 승/협력 문제와이 사이트에서 다음과 같은 제안을했다되지 않았습니다VBA

Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls" 

는 또한 w 운 /뿐만 아니라 다음 코드를 시도 :

Workbooks.Open Filename:=app.Path & "Chapter 7 - 90 ECS 1 LLC.xls" 

파일은 매크로가있는 통합 문서와 같은 경로에 있으므로 내가 잘못하고있는 부분이 손실됩니다.

저는 Microsoft Vista를 실행하고 있습니다.

미리 감사드립니다.

+0

생성되는 오류는 무엇입니까? –

답변

0

ThisWorkbook.Path가 작동하려면 기존 Excel 파일이 열려 있어야합니다.
의미 - 새 통합 문서 (저장되지 않음)의 경우 경로가 비어있게됩니다.

EDIT : 매크로가 활성화되어 있습니까? 제공 한 코드가 실행됩니까?
ThisWorkBook.Path & "\ myOtherFile.xls"코드가있는 & 코드에서 2 개의 파일을 시도했습니다.

0

이 시도 :

Workbooks.Open 파일 이름을 = ThisWorkbook.Path & application.pathseparator & "장 7 - 10 MECHANICAL.xls"

이 적절한 슬래시가 사용되었는지 확인됩니다.

0

app.Path 당신이 원하지 않는 무엇이다, (프로그램 파일) 엑셀 자체의 경로를 반환합니다.

CurDir 함수를 호출하면 현재 디렉토리가 반환됩니다.


편집 : 당신이 파일을 열 때 현재 디렉토리가 변경되지 않습니다 기 때문 번째 생각에, 당신은 CURDIR 기능을하지 않을 수 있습니다. 현재 통합 문서와 같은 폴더에있는 파일을 열려고하면 코드가 작동합니다.

ThisWorkbook이 생각하는 통합 문서인지 확인하십시오. 또한, 어떤 오류가 있습니까?

0

코드의 첫 번째 줄이 정확합니다.이 코드에서 실행되고있는 통합 문서의 경로를 반환합니다 ThisWorkbook.path

Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls" 

.

코드를 실행하는 통합 문서가 으로 저장되어 있지 않으면 빈 문자열이 반환됩니다.무슨 일이 일어나고 있는지 확인하려면이 코드를 추가

시도 :

Debug.Print ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls" 
Debug.Print ThisWorkbook.Saved 
출력을 통해 볼 수 있습니다

- 나는 이것이 이전 게시물입니다 알지만, 나는하지 않았다 '보기 직접 실행 창'

1

주어진 최종 답을보고 나는 같은 문제에 부딪쳤다. 백 슬래시를 이스케이프 처리해야한다는 점을 제외하면 코드의 첫 번째 행은 정확합니다.

단순히

Workbooks.Open Filename:=ThisWorkbook.Path & "\\Chapter 7 - 10 MECHANICAL.xls" 

Workbooks.Open Filename:=ThisWorkbook.Path & "\Chapter 7 - 10 MECHANICAL.xls" 

을 변경하고 당신은 갈 수있을 것입니다.

+0

\ 대신 "Application.PathSeparator"를 사용하는 것이 더 좋습니다. –