이 작품에 대해 어떤 상을 줘야합니다.InDesign 스크립트 오류 : "예상 레이어이지만 수신 된 레이어"
InDesign에서 (매우 큰) 스크립트가 실행되어 한 시점에서 라이브러리에 자산이 페이지에 배치 된 다음 특정 레이어로 이동합니다. 이 스크립트는 여기의 모든 컴퓨터에서 정상적으로 실행되지만,의 InDesign에서 다른 문서가 열려 있지 않은 경우에만 이 실행됩니다.
JavaScript Error!
Error Number: 54 Error String: Uncaught JavaScript exception: ERROR at line number 2651 Invalid value for set property 'itemLayer'. Expected Layer, but received Layer.
참고 굵게 표시된 부분을 : 다른 문서 가 열려 경우
후 오류가 스크립트를 다른 레이어에 배치 된 자산을 이동하려고 할 때 나타납니다. 그것은 기대하고 있던 것을 받았으므로 울부 짖었다. 이것은 나에게 의미가 없습니다. curAsset[0]
이 도서관에서 가져온 이미 문서에 배치 자산 객체이며, 기록을 위해,
curAsset[0].itemLayer = document.layers.item("Art Work (max imprint)");
그리고 : 그리고 기록을 위해, 여기가 참조하는 코드의 라인입니다. document
은 현재 열려있는 문서에 이미 지정된 변수입니다.
내 작업 이론은 InDesign에서 열려있는 다른 문서가이 오류의 원인이되는 것인데, 이는 지금까지 만들 수 있었던 유일한 상관 관계이지만 어떻게 표시되지 않습니다. 스크립트에는 이미 열려있는 문서 중 하나만 참조하는 변수 document
이 있습니다. 스크립트의 다른 모든 것들은이 한 줄을 제외하고는 잘 돌아갑니다 (지금까지). 어떤 아이디어라도주세요?
다른 사람들이 어떻게 든 여길 때 다른 문서의 'Layer' 객체를 가져올 수 있습니까? –
그게 제 일하는 이론입니다. 그러나'document' 변수를 참조하는 수십 줄의 코드 중에서이 한 줄의 코드를 어떻게, 왜, 또는 왜하는지 모릅니다.모든 사람에게 지금 스크립트를 실행하기 전에 InDesign에서 열려있는 문서가없는 것을 확인하라고 말하고 있지만 분명히 이상적은 아닙니다. – Sturm
+1 오류 메시지. – georg