2011-01-28 169 views
5

我正在編寫一個腳本,允許我在InDesign CS3中進行一些基本拼版,並且我的一項任務是打開一個對話框,允許用戶選擇要放置的文件。我目前正在這樣做:如何更改文件打開對話框的默認路徑?

var file = File.openDialog("Choose a File:"); 

該問題似乎是通過快捷方式導航到網絡驅動器時。出於某種原因,對話框將其視爲文件,並從對話框返回該路徑,而不是導航到文件夾位置。我假設這只是對話框中的一個錯誤,我最初的想法是檢查返回的文件是否具有正確的擴展名,如果不是,則再次顯示對話框,打開返回的路徑位置。但是,我似乎無法找到一種方法來改變它默認打開的位置; openDlg()僅具有String prompt,var filterboolean multiselect的參數。我對JavaScript不熟悉,所以我不知道這是一種通用解決方案,還是InDesign特有的解決方案。

編輯:如果任何人的興趣,這是我用來獲取解決問題的最終代碼:

var path = new File("~/desktop"); 
var file = path.openDlg("Choose File:"); 
while (file.alias) { 
    file = file.resolve().openDlg("Choose File:"); 
} 

基本上,檢查它是否是一個快捷方式(別名),如果是這樣,解決了目標和再次顯示對話框。這種做法很糟糕,但它工作得很好。儘管如此,可能還想在其中添加一些空處理,就好像對話被取消一樣,返回null。

回答

1

您是否嘗試過獲取默認需要的文件/目錄句柄並調用fileHandle.openDlg()

http://forums.adobe.com/message/1109421#1109421

+0

賓果!在意識到有一個「openDialog」和一個「openDlg」,一個用於Class元素,另一個用於Instance元素。 `openDlg`很好,謝謝! – kcoppock 2011-01-28 18:32:55

相關問題