我正在編寫一個腳本,允許我在InDesign CS3中進行一些基本拼版,並且我的一項任務是打開一個對話框,允許用戶選擇要放置的文件。我目前正在這樣做:如何更改文件打開對話框的默認路徑?
var file = File.openDialog("Choose a File:");
該問題似乎是通過快捷方式導航到網絡驅動器時。出於某種原因,對話框將其視爲文件,並從對話框返回該路徑,而不是導航到文件夾位置。我假設這只是對話框中的一個錯誤,我最初的想法是檢查返回的文件是否具有正確的擴展名,如果不是,則再次顯示對話框,打開返回的路徑位置。但是,我似乎無法找到一種方法來改變它默認打開的位置; openDlg()
僅具有String prompt
,var filter
和boolean multiselect
的參數。我對JavaScript不熟悉,所以我不知道這是一種通用解決方案,還是InDesign特有的解決方案。
編輯:如果任何人的興趣,這是我用來獲取解決問題的最終代碼:
var path = new File("~/desktop");
var file = path.openDlg("Choose File:");
while (file.alias) {
file = file.resolve().openDlg("Choose File:");
}
基本上,檢查它是否是一個快捷方式(別名),如果是這樣,解決了目標和再次顯示對話框。這種做法很糟糕,但它工作得很好。儘管如此,可能還想在其中添加一些空處理,就好像對話被取消一樣,返回null。
賓果!在意識到有一個「openDialog」和一個「openDlg」,一個用於Class元素,另一個用於Instance元素。 `openDlg`很好,謝謝! – kcoppock 2011-01-28 18:32:55