2011-01-28 42 views
5

Tôi đang viết một kịch bản cho phép tôi thực hiện một số áp đặt cơ bản trong InDesign CS3 và một trong các nhiệm vụ của tôi là mở một hộp thoại cho phép người dùng chọn tệp để đặt. Tôi hiện đang thực hiện việc này với:Làm thế nào để thay đổi đường dẫn mặc định của hộp thoại mở tệp?

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

Sự cố có vẻ là khi điều hướng đến ổ đĩa mạng thông qua phím tắt. Vì một số lý do, hộp thoại sẽ xem nó như một tệp và trả về đường dẫn đó từ hộp thoại, thay vì điều hướng đến vị trí thư mục. Tôi giả sử đây chỉ là một lỗi trong hộp thoại, và suy nghĩ ban đầu của tôi là kiểm tra xem tập tin trả về có mở rộng chính xác hay không, và nếu không, hiển thị lại hộp thoại, mở đến vị trí đường dẫn được trả về. Tuy nhiên, tôi dường như không thể tìm cách thay đổi vị trí mở theo mặc định; openDlg() chỉ có thông số cho String prompt, var filterboolean multiselect. Tôi không quen với Javascript, vì vậy tôi không biết liệu đây có phải là một giải pháp chung hay đặc biệt là InDesign.

EDIT: Nếu có ai quan tâm, đây là mã cuối cùng tôi đã sử dụng để có được xung quanh các vấn đề:

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

Về cơ bản, kiểm tra nếu đó là một phím tắt (bí danh), và nếu như vậy, giải quyết các mục tiêu và hiển thị lại hộp thoại. Loại một cách hackish để đi về nó, nhưng nó hoạt động tốt. Có thể muốn thêm một số xử lý null trong đó, quá, mặc dù, như thể hộp thoại bị hủy bỏ, null được trả về.

Trả lời

1

Bạn đã thử xử lý tệp/thư mục mà bạn muốn theo mặc định và gọi fileHandle.openDlg()?

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

+0

Bingo! Đã nhận được lỗi trong một phút trước khi tôi nhận ra có một 'openDialog' và một' openDlg', một cho các phần tử Class, một cho các phần tử Instance. 'openDlg' hoạt động tốt, cảm ơn bạn! – kcoppock

Các vấn đề liên quan