2012-11-16 3 views
0

엑셀의 DLL 내에서 파일에 쓸 수 없습니다 : 기본적으로내가 코드가 아래 한 엑셀 dll을 개발

FILE *outf 
if((outf = fopen("filename.txt","w+"))!=NULL) 
{ 
    fprintf(outf,"hello"); 
    } 
fclose.(outf); 

내가 DLL 내에서 파일에 쓰기를 시도하고이 프로그램이 제대로 실행 어떤 오류도없이 "filename.txt"가있는 파일이 표시되지 않습니다. 그것은 창문에서 Visual C++을 개발하고 있어요.

+1

어떤 폴더를 확인 했습니까? Excel 프로세스의 현재 디렉토리에 파일을 작성합니다. –

+4

현재 디렉터리에 쓸 수있는 권한이 없을 수 있습니다. 권한이있는 위치로 경로를 시도해보십시오. – john

답변

0

DLL의 컨텍스트에 대한 현재 작업 디렉토리이므로 Excel DLL (또는 XLL)이있는 디렉토리에 파일이 생성됩니다. DLL을 옮기지 않는 한, 이것은 프로젝트 디렉토리 아래의 Debug 디렉토리입니다.

아래 Windows API 함수는 DLL의 전체 경로를 검색하는 데 사용할 수 있습니다.

DWORD WINAPI GetModuleFileName(HMODULE hModule, LPTSTR lpFilename, DWORD nSize ); 
관련 문제