Question

J'écris un script qui me permet de faire une imposition de base dans InDesign CS3, et l'une de mes tâches est d'ouvrir une boîte de dialogue permettant à l'utilisateur de sélectionner un fichier à placer. Je fais actuellement cela avec:

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

Le problème semble être lors de la navigation sur un lecteur réseau via un raccourci. Pour une raison quelconque, la boîte de dialogue qu'il considère comme un fichier, et retourne ce chemin de la boîte de dialogue, plutôt que de naviguer à l'emplacement du dossier. Je suppose que c'est juste un bug dans le dialogue, et ma pensée initiale était de vérifier si le fichier renvoyé a une extension correcte, et sinon, affichez à nouveau la boîte de dialogue, ouvert à l'emplacement du chemin de retour. Cependant, je ne peux pas sembler trouver un moyen de changement où elle ouvre par défaut; openDlg() ne dispose que des paramètres pour String prompt, var filter et boolean multiselect. Je ne suis pas familier avec Javascript, donc je ne sais pas si cela est quelque chose avec une solution générale ou particulière à InDesign.

EDIT : Si vous êtes intéressé de tout le monde, voici le code final je l'habitude de contourner le problème:

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

En gros, vérifie si c'est un raccourci (alias), et le cas échéant, résout la cible et affiche la boîte de dialogue. Une sorte de façon hackish d'aller à ce sujet, mais il fonctionne très bien. Peut vouloir ajouter une gestion des valeurs NULL là aussi, cependant, comme si la boîte de dialogue est annulée, NULL est renvoyée.

Était-ce utile?

La solution

Avez-vous essayé d'obtenir une poignée dans un fichier / répertoire que vous souhaitez par défaut et appeler fileHandle.openDlg()?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top