2013-01-09 2 views
0

파일 확장자를 지정한 후 단어로 파일을 여는 프로그램을 만들려고합니다. 그러나 분명히 모든 파일을 단어로 열 수는 없습니다. 그래서 단어가 파일을 열 수없는 경우 어떤 종류의 예외를 얻을 수있는 방법이 있는지 궁금 해서요. 어떤 아이디어라도 도움이 될 것입니다. 하지만 VB를 사용하고 있습니다.파일이 프로그램에서 오류없이 열릴 수 있는지 확인하십시오.

try { 
    $a = ./test.docx #pdf file changed to .docx 
} 
catch { 
Write-Error "Error!" Exit 
} Write-Host "No Error!" 
+1

포스트 이미 우선, 작성한 코드입니다. Word의 EXE에 대한 경로를 알고 있다면 파일의 경로로 그 파일을 수정하여 SHELL에 전달할 수 있습니다. SHELL은 실패시 0을 반환합니다. –

+0

잘 나는 PS에있어 : ​​ 는' 캐치 { 쓰기 오류 { $의 A = ./test.docx #pdf 파일 .DOCX로 변경} 시도 "오류를!" Exit } Write-Host "No Error!" 오류를 반환하지 않습니다. 종료 오류가 발생하지 않으므로 오류가 발생하지 않습니다. 그래서 나는 단지 단어 안에서 오류를 잡는 방법을 찾아 내려고 노력하고 있습니다. –

+0

나는 당혹 스럽다. 당신은 VB를 사용하고 언급 VBA와 태그를 언급하지만, 귀하의 코드도하지 않습니다. –

답변

0

위에서 언급 한 내용에 따라 ShellExecute WinAPI 호출을 찾아 보는 것이 좋습니다.

ShellExecute에 파일 (전체 경로, 이름, 확장명)을 전달하면 Windows는 파일을 열기 위해 등록 된 응용 프로그램을 찾아서 호출합니다. 즉, c : \ some_dir \ myfile.docx에서 ShellExecute를 호출하면 Word에서 파일을 열거 나 오류가 있음을 나타내는 값을 반환합니다.

예를 들어 랜디 자작 나무의 뛰어난 사이트에 대한 더 많은 정보에 대한 링크와 함께 내 PPT 자주 묻는 질문 사이트 여기에 있습니다 :

http://www.pptfaq.com/FAQ00479_ShellExecute_Example.htm

+0

굉장! 내가 찾고있는 것만으로도 반환 값을 가져와야 설정됩니다. 도와 주셔서 정말로 고맙습니다! –

관련 문제