2013-03-10 3 views
1

나는 excel addin의 디버그 버전을 만들어 myaddin.xll이라고합니다. excel의 인스턴스를 열고 myaddin.xll을 추가하면 예상 된 결과가 나타납니다. 하지만 Visual Studio 환경에서 디버그를 클릭하면 myaddin.xll이 열리므로 "이 프로그램은 도스 모드 일 수 없습니다."오류가 발생합니다.Visual Studio 디버그에서 excel addin xll을로드하십시오.

다른 excel addin을 위해 내가 개발 한이 문제는 없습니다. 이 문제는이 특정 addin에 갑자기 발생합니다. "도스 모드 ..."오류는 일반적으로 뭔가 빠졌을 때 발생합니다. 분명히 addin에는 Excel이 열리기 때문에 누락 된 구성 요소가 없습니다. 하지만 Visual Studio 내에서 열려고하면 일부 구성 요소가 누락됩니다. 내 질문은 어떻게 오류를 일으키는 지 파악하고 수정하는 방법입니다.

디버그 엑셀이 열리면 "myaddin.dll 파일이 파일 확장명이 아닌 다른 형식으로 표시됩니다 ...."팝업이 나타나면 팝업창이 뜨면서 쓰레기가 튀어 나옵니다 문자를 스프레드 시트에 넣습니다.

+0

당신은 '다른 형식' 32 비트 Excel에서 64 비트 .xll을 열 때 오류 메시지가 표시됩니다. 어쩌면 현재 프로젝트 설정이 Excel 버전과 호환되지 않는 대상 (예 : Debug64)이고 일반적으로 다른 출력 디렉토리 (예 : 디버그)에서 열 수 있습니다. – Govert

+0

Govert, 답변 주셔서 감사합니다.하지만 문제를 파악하고 처리 과정에서 중요한 것을 배웠습니다. 이 일이 일어났습니다 : 내 xll 다른 DLL을 사용하여 (말 2.dll) 내가 env 변수에 설정 한 경로. 내가 엑셀로 xll을 떨어 뜨리면 엑셀이 2.dll의 경로를 아는 것처럼 제대로 열립니다. 비주얼 스튜디오 내에서 그것은 아마도 비주얼 스튜디오가 열렸을 때 경로를로드하기 때문에 실패했습니다. 닫지 않고 다시 열지 않으면 경로가 업데이트되지 않습니다. 결과적으로 그것이 xll을 열려고 시도 할 때 2.dll을 찾을 수 없었고 실제 빌드가 좋았지 만 실패했습니다. – user1612986

답변

1

당신은에 비주얼 스튜디오를 구성해야합니다 : 1) 엑셀 2 실행) 당신의 .xll을로드하고 3) DLL을 추가하는 경로 의존성 (오른쪽의 "구성 속성"을 projet- 클릭 -> "디버그") :

Visual Studio Debug Configuration

이 확장 전환하는 것을 잊지 말아요. - 32 대 .xll하는 DLL의 ("구성 속성"> "일반)

는 Govert를 그리워 말아요 (loading a excel addin xll from visual studio debug) 주석에 대한 x64bit 비트.