2011-01-28 16 views
5

私は、InDesign CS3内で基本的な面付けを行うためのスクリプトを作成しています。私の仕事の1つは、ダイアログボックスを開いてユーザーが配置するファイルを選択できるようにすることです。私は現在、次のようにしています:ファイル開くダイアログのデフォルトパスを変更するにはどうすればよいですか?

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

ショートカットを使用してネットワークドライブに移動すると問題が発生しているようです。何らかの理由で、ダイアログはファイルをファイルとして認識し、フォルダの場所に移動するのではなくダイアログからそのパスを返します。私はこれがダイアログ内のバグであると仮定しています。最初の考えは、返されたファイルが正しい拡張子を持っているかどうかを確認し、そうでなければ返されたパスの場所に開かれたダイアログを再び表示することでした。しかし、デフォルトで開く場所を変更する方法が見つからないようです。 openDlg()は、String prompt,var filterおよびboolean multiselectのパラメータしか持っていません。私はJavascriptに慣れていないので、これが一般的な解決策であるのか、特にInDesignにとってのものであるのか分かりません。

EDIT:誰もが興味を持っていた場合は、ここで私は問題を回避するために使用される最終的なコードがあります:

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

、チェックそれはショートカット(エイリアス)だし、もしそうなら、ターゲットを解決するかどうかと、ダイアログが再び表示されます。それについて行くべきhackish方法の種類、しかしそれはちょうどうまく働く。そこにもいくつかのnull処理を追加したいかもしれませんが、ダイアログがキャンセルされたようにnullが返されます。

答えて

1

デフォルトで必要なファイル/ディレクトリへのハンドルを取得し、fileHandle.openDlg()を呼び出してみましたか?

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

+0

ビンゴ! openDialogとopenDlgがあることに気が付く前に、何分か間違っていました.1つはClass要素用、もう1つはInstance要素用です。 'openDlg'はうまくいきます、ありがとう! – kcoppock

関連する問題