這是我發現的一個難題。'沒有文檔窗口打開'錯誤
我有一個腳本可以在InDesign中打開一個文件,對它做一些工作,然後關閉它。爲了幫助加速這一過程,我已經關閉了通過使用false
參數顯示文件打開文件時,像這樣:
var document = app.open(oFile, false);
有時,同時做在一個開放的文件中的一些工作,該腳本可能需要需要從11英寸調整某個頁面高大的12.5英寸高,正是如此:
if (padPrinted) {
for (var p = 0; p < outputRangeArray.length; p++) {
var padPage = document.pages.item(outputRangeArray[p]);
if (padPage.bounds[2] - padPage.bounds[0] === 11) {
padPage.select();
var myY1 = padPage.bounds[0] -= 0.75;
var myX1 = padPage.bounds[1];
var myY2 = padPage.bounds[2] += 0.75;
var myX2 = padPage.bounds[3];
padPage.reframe(CoordinateSpaces.INNER_COORDINATES, [[myX1*72, myY1*72], [myX2*72, myY2*72]]);
}
}
}
這已經完美地爲我工作了一段時間,但現在它有時與消息行padPage.select()
錯誤:
沒有文檔窗口打開。
如果我回到打開文件並刪除false
參數的行,那麼腳本工作正常。
所以,我想知道是否有任何方法來解決這個問題。我希望在不顯示文檔的情況下打開文檔,但仍然可以在需要時調整頁面大小。有任何想法嗎?
按照[Adobe公司的InDesign CS6 腳本編程指南:使用Javascript]第41頁(http://wwwimages.adobe.com/www.adobe.com/content/dam /Adobe/en/devnet/indesign/sdk/cs6/scripting/InDesign_ScriptingGuide_JS.pdf),「在更改頁面大小或對頁面應用轉換之前,必須選擇頁面。」 – Sturm
@Sturm我的回覆太長了,所以我編輯了我的回答。 – dln385
就是這樣。我記得在沒有成功之前嘗試使用'.reframe()'方法,但頁面上的'.select()'方法使其工作。或者我只是記得不正確。無論如何,你對第42頁上的剪切都是正確的 - 我從來沒有注意到之前遺漏了'.select()'。 此外,感謝您捕捉'+ ='和' - ='失誤。我最初試圖讓它在沒有將這些變量分配給變量的情況下工作,但是我很快發現'bounds'是隻讀的,之後忘記了刪除賦值運算符。 再次感謝,dln385,你真棒! – Sturm