2012-07-19 2 views
1

InDesign을 스크립팅하는 동안 나는 모든 작업을 실행하기 전까지는 숨겨진 새 문서를 만든 후 myDocument.windows.add(); 보여주기 위해서. 그러나 마지막 단계 전에 오류가 발생하는 경우도 많아서 문서가 구체화되지 않습니다. 내가 닫을 수있는 유일한 방법은 InDesign을 완전히 닫는 것입니다. 이 방법이 효과가 있지만 더 좋은 방법이 있어야한다고 생각합니다.숨겨진 InDesign 문서를 닫는 방법?

IDE 또는 스크립트에서 숨겨진 프로세스를 열어보고 닫을 수있는 방법이 있습니까?

건배, 브랜든

답변

3

물론!

app.documents.everyItem(). close (SaveOptions.NO); // 모든 문서를 저장하지 않고 표시하거나 닫을 것입니다.)

보이지 않는 문서를 사용하려는 경우 try catch 문을 사용하는 것이 좋습니다. 따라서 오류가 발생하면 삭제할 수 있습니다.

function dealWithInvisibleDocs() 
{ 
    var doc; 

    try 
    { 
     doc = app.documents.add(); 
     throw new Error ("Booom"); 
    } 
    catch(e) 
    { 
     alert(e); 
     if (doc.isValid) 
     { 
      doc.close (SaveOptions.NO); 
     } 
    } 
} 
dealWithInvisibleDocs(); 

루이

+0

좋은 물건; 공유해 주셔서 감사합니다. 방금 필요할 때 전화 할 수있는 한 줄짜리 스크립트를 만들었습니다! try/catch를 할 경우 try 부분은 스크립트 전체를 포괄해야합니다. 그리고 저는 여전히 오류 처리에 익숙하지 않기 때문에 닫히기 전에 isValid 검사를해야합니까? 나는 그것이 원래의 질문에서 벗어난 주제라는 것을 알고 있지만 알고 싶습니다. :) – Brendan

+0

예, try catch를 사용하면 스크립트를 캡슐화해야합니다. 또 다른 방법은 문서를 통해 루프를 실행하여 layoutWindow가 있는지 확인하는 것입니다. isValid는 문서가 있는지 확인하기위한 것이지만 instanceof 검사를 추가하는 것이 더 좋습니다. (doc instanceof Document && doc.isValid) ... Loic – Loic

+0

웁스! 이 댓글을 결코 인정하지 않았습니다 ... 답변 해 주셔서 감사합니다! – Brendan

관련 문제