Professional Documents
Culture Documents
Copyright 2009 Adobe Systems Incorporated. Tous droits rservs. Adobe Introduction lcriture de scripts AVIS : Toutes les informations contenues dans ce document sont la proprit dAdobe Systems Incorporated. Aucune partie de ce document (que ce soit sous forme de copie papier ou lectronique) ne peut tre reproduite ni transmise, sous quelque forme ou par quelque moyen que ce soit (lectronique, mcanique, photocopie, enregistrement ou autre) sans autorisation crite pralable dAdobe Systems Incorporated. Le logiciel dcrit dans ce document est fourni sous licence et peut tre copi ou utilis uniquement en conformit avec les dispositions de cette licence. Ce document et les informations contenues sont fournis EN LETAT et peuvent tre modifis sans pravis. Ils ne constituent en aucune manire un engagement de la part dAdobe Systems Incorporated. Adobe Systems Incorporated ne peut tre tenu pour responsable des erreurs ou inexactitudes et rejette toute garantie (expresse, tacite ou contractuelle) concernant ce document, notamment concernant sa qualit marchande ou son adquation un usage particulier et la non-contrefaon des droits dun tiers. Toute rfrence des noms de socit dans les modles dexemple nest utilise qu titre dexemple et ne fait rfrence aucune socit relle. Adobe, le logo Adobe, Illustrator, InDesign et Photoshop sont des marques ou des marques dposes dAdobe Systems Incorporated aux Etats-Unis et/ou dans dautres pays. Apple, Mac OS et Macintosh sont des marques dApple Computer, Inc., dposes aux Etats-Unis et dans dautres pays. Microsoft et Windows sont des marques ou des marques dposes de Microsoft Corporation aux Etats-Unis et/ou dans dautres pays. JavaScriptTM et toutes les marques relatives Java sont des marques ou des marques dposes de Sun Microsystems, Inc. aux Etats-Unis et dans dautres pays. UNIX est une marque dpose de The Open Group. Toutes les autres marques cites sont la proprit de leurs dtenteurs respectifs. Si le prsent guide est distribu avec un logiciel sous contrat de licence de lutilisateur final, ce guide, de mme que le logiciel dont il traite, est cd sous licence et ne peut tre copi ou utilis que conformment cette licence. Sauf autorisation spcifique dans la licence, aucune partie de cette publication ne peut tre reproduite, enregistre sur un systme de recherche ou transmise sous quelque forme ou par quelque moyen que ce soit (enregistrement lectronique, mcanique ou autre), sans lautorisation crite pralable dAdobe Systems Incorporated. Notez que le contenu de ce manuel est protg par des droits dauteur, mme sil nest pas distribu avec un logiciel accompagn dun contrat de licence pour lutilisateur final. Les informations contenues dans ce guide sont fournies titre informatif uniquement ; elles sont susceptibles dtre modifies sans pravis et ne doivent pas tre interprtes comme tant un engagement de la part dAdobe Systems Incorporated. Adobe Systems Incorporated naccepte aucune responsabilit quant aux erreurs ou inexactitudes pouvant tre contenues dans le prsent guide. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, Etats-Unis.
Instructions Tell (AS uniquement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Remarques sur les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Modification de la valeur dune variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Utilisation de variables pour faire rfrence des objets existants . . . . . . . . . . . . . . . . . . . . 28 Rendre les fichiers de script lisibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Commenter le script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Continuer des lignes longues en AppleScript et VBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Utilisation de tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Cration dobjets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Informations supplmentaires sur lcriture de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
AppleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 VBScript : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Introduction
Lcriture de scripts est un outil puissant qui vous permet de contrler et dautomatiser un grand nombre de fonctionnalits dans un grand nombre dapplications Adobe et vous permet de gagner tellement de temps et defforts que votre approche du travail sen trouve compltement change.
quelles sont les tapes ncessaires lexcution de cette tche et? quelles sont les conditions dans lesquelles vous devez effectuer cette tche?
Une fois que vous avez compris le processus dexcution manuelle de cette tche, vous tes prt en crire le script.
CHAPITRE 1 : Introduction
AppleScript JavaScript
Les brves descriptions ci-dessous peuvent vous aider dterminer le langage qui vous conviendra le mieux.
AppleScript
AppleScript est un langage de script en langue courante dvelopp par Apple. Cest lun des langages de script les plus simples utiliser. Pour crire des scripts AppleScript, vous pouvez utiliser lapplication Editeur de scripts dApple, qui, dans une installation par dfaut Mac OS, se trouve dans :
disque systme:Applications:AppleScript:Editeur de scripts
Pour plus dinformations sur lutilisation de lapplication Editeur de scripts, reportez-vous laide correspondante.
CHAPITRE 1 : Introduction
VBScript :
VBScript est un sous-ensemble du langage de programmation Visual Basic dvelopp par Microsoft. VBScript communique avec les applications hberges laide dActiveX Scripting. Si VBScript est la version du langage Visual Basic officiellement prise en charge par CS5, vous pouvez galement crire des scripts en VBA et Visual Basic lui-mme. Vous pouvez trouver plusieurs bons diteurs VBScript sur Internet. Si vous avez une application Microsoft Office, vous pouvez galement utiliser lditeur Visual Basic intgr en slectionnant Outils > Macro > Visual Basic Editor.
JavaScript
JavaScript est un langage de script trs rpandu dvelopp lorigine pour rendre les pages Web interactives. Tout comme AppleScript, JavaScript est facile apprendre. REMARQUE : Adobe a dvelopp une version amliore de JavaScript appele ExtendScript, qui vous permet de bnficier des avantages de certains outils et fonctionnalits de script dAdobe. Si vous tes dbutant, la diffrence entre ces deux langages ne devrait pas vous affecter. Prenez toutefois lhabitude de donner une extension .jsx vos scripts JavaScript, plutt que lextension habituelle .js. JavaScript possde quelques petits avantages sur AppleScript et Visual Basic :
X
Vos scripts peuvent tre utiliss soit sous Windows, soit sous Mac OS. Si vous tes amen partager ou utiliser vos scripts dans les deux plates-formes, apprenez alors utiliser JavaScript. Sous Adobe Illustrator et InDesign, vous pouvez accder aux scripts dans nimporte quel langage pris en charge partir de lapplication. Nanmoins, sous Photoshop, vous ne pouvez accder quaux fichiers .jsx partir de lapplication. Vous devez utiliser les scripts AppleScript ou Visual Basic en dehors de lapplication. Cela ne constitue pas un inconvnient majeur, mais il vous faudra quelques clics de plus pour excuter vos scripts. Vous pouvez configurer les scripts .jsx pour quils sexcutent automatiquement lorsque vous ouvrez lapplication, en les plaant dans le dossier Startup Scripts de lapplication. Pour plus dinformations sur les dossiers Startup Scripts, reportez-vous au guide dcriture de scripts de votre application.
Pour crire des scripts en JavaScript, vous pouvez utiliser nimporte quel diteur de texte, ou encore lESTK (ExtendScript Tool Kit) fourni avec vos applications Adobe. LESTK possde un large ventail de fonctionnalits qui rendent son utilisation plus facile quun diteur de texte, notamment grce un correcteur de syntaxe intgr qui identifie les problmes lis votre script et suggre des moyens de les rsoudre, et grce la possibilit dexcuter vos scripts directement partir de lESTK sans sauvegarder le fichier. Cette deuxime fonctionnalit vous permet de gagner beaucoup de temps, surtout au dbut sil vous faut tester et modifier un script plus dune fois avant que celui-ci ne soit prt fonctionner. Dans une installation Adobe par dfaut, lESTK se trouve lemplacement suivant : Mac OS : disque systme:Applications:Utilities:Adobe Utilities - CS5:ExtendScript Toolkit CS5 Windows : lecteur:/Program Files/Adobe/Adobe Utilities - CS5/ExtendScript Toolkit CS5 Pour plus dinformations, reportez-vous au Guide JavaScript Tools.
CHAPITRE 1 : Introduction
AS
1. Ouvrez lEditeur de scripts et tapez (en changeant le nom de lapplication Adobe entre guillemets) :
tell application "Adobe Photoshop CS5" make document end tell
JS
1. Ouvrez lESTK et slectionnez une application dans la liste droulante situe en haut gauche de la fentre du document. 2. Dans la palette Console de JavaScript, tapez :
app.documents.add()
Cliquez sur licne Excuter dans la barre doutils situe en haut de la fentre du document. Appuyez sur la touche F5. Slectionnez Debug (Dbogage) -> Run (Excuter).
VBS
1. Dans un diteur de texte, tapez (en changeant le nom de lapplication Adobe entre guillemets de la deuxime ligne) :
Set appRef = CreateObject("Photoshop.Application") appRef.Documents.Add()
2. Sauvegardez le fichier au format texte avec une extension .vbs (par exemple, creer_doc.vbs). 3. Double-cliquez sur le fichier dans Windows Explorer.
Dfinissez des valeurs pour les proprits de lobjet. Par exemple, vous pouvez indiquer le nom, la hauteur ou la largeur dun document. Vous pouvez spcifier le nom, la couleur ou lopacit dun calque. Spcifiez des commandes ou des mthodes pour indiquer au script ce quil doit faire vos objets. Par exemple, vous pouvez ouvrir, fermer, enregistrer et imprimer un document. Vous pouvez fusionner, dplacer ou pixelliser un calque.
Gardez lesprit lorsque vous rdigez un script que vous ne pouvez utiliser que les proprits ou mthodes/commandes autorises pour lobjet. Comment savoir quelles proprits et mthodes sont autorises pour quel objet ? La plupart du temps, cest logique. En gnral, si vous pouvez indiquer quelque chose dans votre application Adobe, vous pouvez lindiquer dans un script. Nanmoins, Adobe lexplique galement en dtail dans les ressources de lcriture de scripts qui contiennent les informations dont vous avez besoin pour crer, dfinir et manipuler les objets de script. Pour plus dinformations sur lemplacement et lutilisation de ces ressources, reportez-vous au Chapitre 3, Recherche de proprits et de mthodes dobjets .
10
Concepts DOM
Les langages de script utilisent un Document Object Model (DOM) pour organiser les objets de faon ce quils soient faciles identifier. Le principe sous-jacent un DOM est la hirarchie de confinement. En dautres termes, les objets de niveau suprieur contiennent les objets du niveau suivant, qui contiennent le niveau suivant dobjets, etc. Par exemple, lobjet de niveau suprieur de tout DOM dune application Adobe est lobjet application. Ensuite vient lobjet document qui contient tous les autres objets, comme les calques, les couches, les pages, les blocs de texte, etc. Ces objets peuvent contenir des objets que le document ne peut pas contenir directement. Par exemple, sous InDesign ou Illustrator, un bloc de texte peut contenir des mots. Un document ne peut pas contenir de mots sans bloc de texte. De mme, sous Photoshop, un document peut contenir un calque et un calque peut contenir un bloc de texte mais un document ne peut pas contenir de bloc de texte si le document ne contient pas de calque. REMARQUE : Un objet contenant un objet est galement appel objet parent. Dans votre premier script, vous avez tout dabord nomm lobjet application (ou vous lavez slectionn dans lESTK), puis vous avez cr le document dans cette application. Si, comme tape suivante, vous vouliez crer un calque, votre script aurait eu besoin didentifier le document dans lequel vous voulez crer le calque. Si votre script nindique pas lapplication exactement o crer un objet, votre script choue. REMARQUE : Pour consulter un tableau du DOM pour une application spcifique, reportez-vous au guide dcriture de scripts de lapplication. Donc, en utilisant votre principe DOM, comment ajoutez-vous un calque un document ? (Pour modifier ce script pour Photoshop, notez quun calque est appel art layer en AS et les calques sont appels artLayers en JS ou ArtLayers en VBS). AS
tell application "Adobe Illustrator CS5" make document make layer in document end tell app.documents.layers.add()
JS VBS
Si vous tentez dexcuter ces scripts, vous obtiendrez une erreur car lapplication ne sait pas quel document choisir. Bien sr, vous navez quun seul document douvert mais cela ne sera pas toujours le cas. En consquence, les langages de script sont soumis des conditions strictes spcifiant que tous les objets soient explicitement identifis dans chaque instruction de script.
11
Variables
Une variable est un lment que vous crez pour contenir des donnes dans votre script. Les donnes, appeles valeur de la variable, peuvent tre un objet de votre script ou une proprit qui dcrit un objet. Vous pouvez galement considrer une variable comme un surnom que vous donnez un objet ou dautres donnes. Lutilisation dune variable pour contenir un objet facilite la rfrence cet objet. La plupart des rdacteurs de script crent une variable pour chaque objet de leur script. Les scripts suivants crent un document, comme vous lavez fait dans votre premier script. Nanmoins, cette version du script cre une variable nomme myDoc pour contenir le document. Etudiez ces scripts, puis comparez-les votre premier script. (Reportez-vous Par o dois-je commencer ? , page 8.) AS Pour crer une variable en langage AS, utilisez la commande set suivie par le nom de la variable. Pour affecter une valeur de donnes la variable, utilisez to suivi de la valeur.
tell application "Adobe Illustrator CS5" set myDoc to make document end tell
JS
Pour crer une variable en langage JS, utilisez la commande var suivie par le nom de la variable. Pour affecter une valeur de donnes, utilisez le symbole gal (=) suivi de la valeur. Les espaces nont aucune importance de quelque ct que ce soit du symbole gal.
var myDoc = app.documents.add()
VBS
Pour crer une variable en langage VBS, utilisez la commande Set suivie du nom de la variable. Pour affecter une valeur de donnes, utilisez le symbole gal (=) suivi de la valeur. Les espaces nont aucune importance de quelque ct que ce soit du symbole gal.
Set appRef = CreateObject("Illustrator.Application") Set docRef = appRef.Documents.Add
12
Mieux : vous pouvez crer une autre variable pour contenir le calque. Cela nous permettrait de faire facilement rfrence au calque si nous souhaitions dfinir ses proprits ou ajouter un objet au calque.
tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc end tell
JS
Le mme script nouveau, cette fois-ci en crant une variable pour contenir le calque.
var myDoc = app.documents.add() var myLayer = myDoc.layers.add()
VBS
Le mme script nouveau, cette fois-ci en crant une variable pour contenir le calque.
Set appRef = CreateObject("Photoshop.Application") Set docRef = appRef.Documents.Add Set layerRef = docRef.Layers.Add
JS
VBS
13
Vous pouvez utiliser le prfixe doc au dbut de chaque variable qui contient des objets Document, par exemple docRef ou layer pour identifier les variables qui contiennent les objets Art Layer, par exemple layerRef et layerRef2. Vous pouvez utiliser le prfixe my pour ajouter un lment personnel qui distingue vos variables des objets de script. Par exemple, myDoc ou myLayer ou myTextFrame.
Les noms de variable doivent tre composs dun seul mot (sans espace). De nombreuses personnes utilisent des majuscules (par exemple myFirstPage) ou des tirets longs (my_first_page) pour crer des noms plus lisibles. Le nom de la variable ne peut pas commencer par un tiret long. Les noms de variable peuvent contenir des chiffres mais ne peuvent pas commencer par un chiffre. Ils ne peuvent pas contenir de guillemets ou de marques de ponctuation autres que le tiret long. Les noms de variable en JavaScript et VBScript sont sensibles la casse. thisString est diffrent de thisstring ou ThisString. Les noms de variable en AppleScript ne sont pas sensibles la casse. Chaque variable de votre script doit avoir un nom unique.
X X X
En AS, vous faites rfrence au premier document de llment documents en tant que document 1. En JS, le premier document est documents[0], (remarquez les crochets entourant lindice) car (et cest difficile de sen souvenir au dbut) JavaScript commence numroter les objets dun ensemble par 0. En VBS, le premier document est Documents(0), (remarquez la parenthse autour de lindice). VBS commence la numrotation des objets dun ensemble par 1.
14
Les scripts suivants rfrencent les objets document et layer par indice pour lajout de nouveaux objets. REMARQUE : Comme le script suivant nutilise pas de variables, la totalit de la hirarchie de confinement est requise dans chaque rfrence dobjet. Par exemple, dans linstruction qui ajoute un calque, le script doit identifier le document auquel le calque sera ajout. Pour ajouter un bloc de texte au calque, le script doit fournir lindice non seulement de la couche qui contiendra le bloc mais il doit galement identifier le document qui contient le calque. AS
tell application "Adobe InDesign CS5" make document make layer in document 1 make text frame in layer 1 of document 1 end tell
REMARQUE : Les rdacteurs de script dbutants utilisant AppleScript ne sont pas incits utiliser les numros dlment comme rfrences dobjet lorsque llment contient plus dun objet. Pour plus dexplications, reportez-vous Comment les lments et les ensembles numrotent les lments suivants ? , page 14. JS En JavaScript, vous indiquez lindice dun lment en utilisant le nom de lensemble suivi par lindice entre crochets ([]).
app.documents.add() app.documents[0].layers.add() app.documents[0].layers[0].textFrames.add()
REMARQUE : Souvenez-vous, en langage JS, les numros dindice dun ensemble commencent par 0. VBS En VBScript, vous indiquez lindice dun lment en utilisant le nom de lensemble suivi de lindice entre parenthses.
appRef.Documents.Add appRef.Documents(1).Layers.Add appRef.Documents(1).Layers(1).TextFrames.Add
AS affecte le numro 1 au nouvel objet et renumrote lobjet dj existant qui devient le numro 2. Les numros dobjet AppleScript parcourent les objets pour indiquer lobjet sur lequel vous avez travaill le plus rcemment. Ce processus peut rendre les longs scripts confus. En consquence, nous encourageons les rdacteurs dbutants utiliser des variables comme rfrences dobjet et viter lutilisation dindices. Les numros densemble JS sont statiques ; ils ne changent pas lorsque vous ajoutez un nouvel objet lensemble. La numrotation des objets sous JS indique lordre dans lequel les objets ont t ajouts lensemble. Comme le premier objet que vous avez ajout a reu le numro 0, lobjet suivant que vous ajoutez lensemble porte le numro 1 ; si vous ajoutez un troisime objet, il portera le numro 2. Par exemple, lorsque vous ajoutez un document, le document contient automatiquement un calque. Lindice du calque est [0]. Si vous ajoutez un calque, lindice du nouveau calque est [1] ; si vous ajoutez un second calque, son indice est [2]. Si vous faites glisser le calque [2] en haut de la palette Calques, il aura toujours lindice [2]. Les numros densemble VBS sont galement statiques et la numrotation seffectue exactement comme pour les ensembles JS, la diffrence prs que le premier objet de lensemble est toujours (1) en VBS.
15
CONSEIL : Dans les scripts JS et VBS, vous trouverez les numros dindice trs utiles comme rfrences dobjet. Par exemple, vous avez peut-tre plusieurs fichiers pour lesquels vous souhaitez crer un calque darrire-plan blanc. Vous pouvez rdiger un script qui dit Ouvrir tous les fichiers de ce dossier et changer la couleur du premier calque en blanc . Si vous navez pas la possibilit de faire rfrence aux calques par indice, vous devez inclure dans votre script les noms de tous les calques darrire-plan dans tous les fichiers. REMARQUE : Les scripts sont des organisateurs compulsifs. Ils placent les objets dans des lments ou des ensembles mme sil ny a quun seul objet de ce type dans la totalit de lensemble. REMARQUE : Les objets peuvent appartenir plus dun ensemble ou dun lment. Par exemple, sous Photoshop, les objets art layer appartiennent llment ou lensemble art layers et les objets layer set appartiennent llment ou lensemble layer sets, mais les objets art layer et layer set appartiennent tous llment ou lensemble layers. De mme, sous InDesign, les objets rectangle appartiennent llment ou lensemble rectangles et les objets text frame appartiennent llment ou lensemble text frames. Nanmoins, la fois les objets rectangle et les objets text frame appartiennent galement llment ou lensemble page items qui contient toutes sortes dlments sur une page, comme des ellipses, des lignes de graphique, des polygones, des boutons et dautres lments.
En AS, la proprit qui fait rfrence un objet actif est compose du mot current et du nom de lobjet. Quelques exemples :
current current current current document layer channel view
En JS, le nom de la proprit est un mot compos de active et du nom de lobjet, selon lutilisation de la casse standard de JS :
Z Z
Le premier mot est en minuscules. Le second mot (et tous ceux qui suivent) utilisent des majuscules pour la premire lettre.
Quelques exemples :
activeDocument activeLayer activeChannel activeView
16
VBS est identique JS sauf que tous les mots du terme compos utilisent une majuscule pour la premire lettre. Quelques exemples :
ActiveDocument ActiveLayer ActiveChannel ActiveView
Les scripts suivants crent un document, puis utilisent ce principe pour crer un calque dans le nouveau document. AS
tell application "Adobe Illustrator CS5" make document make layer in current document end tell app.documents.add() app.activeDocument.layers.add()
JS
REMARQUE : Vrifiez que vous avez saisi activeDocument sans s la fin. VBS
Set appRef = CreateObject("Illustrator.Application") docRef.Documents.Add appRef.ActiveDocument.Layers.Add
Une chane, qui est du texte alphanumrique, qui est interprte comme du texte. Les chanes doivent tre entoures de guillemets (" "). Les chanes incluent des valeurs comme le nom dun objet. Un nombre qui est une valeur numrique pouvant tre utilise dans des oprations mathmatiques comme laddition ou la division. Les nombres mathmatiques incluent la longueur dun ct dun bloc ou lespace entre des paragraphes, le pourcentage dopacit, la taille de police, lpaisseur du contour, etc. Notez que certaines valeurs qui ressemblent des nombres sont en fait des chanes. Par exemple, un numro de tlphone ou de scurit sociale sont des nombres mais vous les formateriez comme chanes (entre guillemets) car les donnes ne seraient pas considres comme des nombres mathmatiques.
17
Nombre entier qui est un nombre sans dcimale. Nombres rel, fixe, court, long ou double qui sont des numros qui peuvent inclure des dcimales, comme 5,9 ou 1,0.
Remarque :Ces diffrences peuvent sembler futiles mais gardez-les lesprit pour plus tard.
X
Une variable. Lorsque vous utilisez une variable comme valeur de la proprit, vous ne placez pas la variable entre des guillemets comme vous le feriez pour une chane. Une valeur boolenne, qui est soit true ou false.
Une valeur constante (galement appele enumeration) qui est un ensemble prdfini de valeurs dans lequel vous pouvez effectuer une slection. Lutilisation de valeurs constantes pour une proprit est similaire en termes de concept lutilisation dun menu droulant dans une application Adobe. Les constantes ainsi que leur mode dutilisation sont prsents dans Valeurs constantes et numrations , page 21. Une liste (AS) ou un tableau (JS et VBS). Certaines proprits requirent plusieurs valeurs comme les coordonnes demplacement dun point (coordonnes x et y) ou les limites dun bloc de texte ou dun objet gomtrique. Des valeurs multiples pour une seule proprit sont appeles liste en AS et tableau en JS ou VBS. Chaque langage spcifie des rgles de formatage.
Z
La liste ou le tableau doit tre prsent(e) comme suit : En AS, la liste est entoure daccolades : {} En JS, le tableau est entour de crochets : [] En VBS, le tableau est entour de parenthses et suit le mot-cl Array: Array()
Les valeurs sont spares par une virgule (,). Vous pouvez inclure ou omettre des espaces aprs les virgules ; cela na pas dimportance. AS JS VBS
{3,4,5} ou {"string1", "string2", "string3"} [3,4,5] ou ["string1", "string2", "string3"] Array(3,4,5)ou Array("string1", "string2", "string3")
Une liste ou un tableau peut inclure des listes ou des tableaux imbriqus, comme une liste de coordonnes. Dans les exemples suivants, remarquez que chaque tableau imbriqu est entour individuellement daccolades, de parenthses ou de crochets et que les tableaux imbriqus sont spars par des virgules. AS JS VBS
{{x1, y1}, {x2, y2}, {x3, y3}} [[x1, y1], [x2, y2], [x3, y3]] Array(Array(x1, y1), Array(x2, y2), Array(x3, y3))
18
AS
Pour utiliser les proprits en langage AS, utilisez la commande set suivie du nom de la proprit, puis saisissez of suivi de la rfrence dobjet. Le script suivant dfinit la proprit name de lobjet layer.
tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc set name of myLayer to "My New Layer" end tell
Vous pouvez dfinir plusieurs proprits dans une seule instruction en utilisant la proprit properties. Vous formatez les proprits multiples dans un tableau, entour daccolades. Dans le tableau, sparez chaque paire de nom/valeur de proprit par deux points (:). Le script suivant utilise properties pour dfinir le nom du calque et ltat de visibilit.
tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc set properties of myLayer to {name:"My New Layer", visible:false} end tell
REMARQUE : Notez que, dans le script ci-dessus, seule la valeur de la chane "Mon nouveau calque" est entre guillemets. La valeur de la proprit visible, false peut ressembler une chane mais il sagit dune valeur boolenne. Pour consulter les types de valeurs, reportez-vous Utilisation des proprits , page 16. Vous pouvez dfinir les proprits dun objet dans linstruction qui cre lobjet, comme dans les scripts ci-dessous.
tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc with properties {name:"My New Layer"} end tell tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc with properties {name:"My New Layer", visible:false} end tell
JS
Pour utiliser une proprit en langage JS, nommez lobjet que vous souhaitez que la proprit dfinisse ou modifie, insrez un point (.), puis nommez la proprit. Pour indiquer la valeur, placez un symbole gal (=) aprs le nom de la proprit, puis saisissez la valeur.
var myDoc = app.documents.add() var myLayer = myDoc.layers.add() myLayer.name = "My New Layer"
Pour dfinir des proprits multiples, vous pouvez rdiger plusieurs instructions :
var myDoc = app.documents.add() var myLayer = myDoc.layers.add() myLayer.name = "My New Layer" myLayer.visible = false
19
REMARQUE : Notez que, dans le script ci-dessus, seule la valeur de la chane "Mon nouveau calque" est entre guillemets. La valeur de la proprit visible, false peut ressembler une chane mais il sagit dune valeur boolenne. Pour consulter les types de valeurs, reportez-vous Utilisation des proprits , page 16. JS fournit un abrg pour dfinir des proprits multiples appel instruction with. Pour utiliser une instruction with, utilisez le mot with suivi de lobjet dont vous souhaitez dfinir les proprits, en entourant la rfrence dobjet de parenthses (()). Ne saisissez pas despace entre with et la premire parenthse. Ensuite, saisissez une accolade ouverte ({), puis appuyez sur Entre et saisissez un nom et une valeur de proprit sur la ligne suivante. Pour fermer linstruction with, saisissez une accolade ferme (}).
var myDoc = app.documents.add() var myLayer = myDoc.layers.add() with(myLayer){ name = "My New Layer" visible = false }
Lutilisation dune instruction with vous pargne davoir saisir la rfrence dobjet suivie dun point (dans ce cas, myLayer.) pour chaque proprit. Lorsque vous utilisez une instruction with, noubliez jamais laccolade ferme. JS fournit galement une proprit properties qui vous permet de dfinir plusieurs valeurs dans une seule instruction. Incluez lensemble du groupe de valeurs dans des accolades ({}). A lintrieur des accolades, utilisez deux points (:) pour sparer un nom de proprit de sa valeur et sparez les paires nom/valeur de proprit laide dune virgule (,).
var myDoc = app.documents.add() var myLayer = myDoc.layers.add() myLayer.properties = {name:"My New Layer", visible:false}
VBS
Pour utiliser des proprits en langage VBS, nommez lobjet, insrez un point (.), puis nommez la proprit. Pour indiquer la valeur, placez un symbole gal (=) aprs le nom de la proprit, puis saisissez la valeur.
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.Documents.Add Set myLayer = myDoc.Layers.Add myLayer.Name = "My First Layer"
Vous ne pouvez dfinir quune seule proprit par instruction. Pour dfinir des proprits multiples, vous devez rdiger plusieurs instructions :
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.Documents.Add Set myLayer = myDoc.Layers.Add myLayer.Name = "My First Layer" myLayer.Opacity = 65 myLayer.Visible = false
REMARQUE : Notez que, dans le script ci-dessus, seule la valeur de la chane "Mon nouveau calque" est entre guillemets. La valeur de la proprit Visible, false peut ressembler une chane mais il sagit dune valeur boolenne. Pour consulter les types de valeurs, reportez-vous Utilisation des proprits , page 16.
20
Pour quune valeur de chane saffiche dans un avertissement de scurit, vous devez stocker la valeur de chane dans une variable. Le script suivant convertit le nom du document en une variable nomme myName, puis affiche la valeur de myName.
tell application "Adobe Photoshop CS5" set myDoc to make document set myName to name of myDoc display dialog myName end tell
21
JS Pour afficher un avertissement de scurit en JS, utilisez la mthode alert() en saisissant alert, puis en entrant le contenu de la bote de dialogue entre parenthses (()). Ne saisissez pas despace entre alert et la premire parenthse. Pour savoir combien dobjets figurent dans un ensemble, utilisez la proprit length (en lecture seule) de nimporte quel objet de lensemble. Le script suivant affiche un avertissement de scurit qui vous indique combien de documents figurent dans lensemble documents, puis ajoute un document et affiche une nouvelle alerte avec le nombre mis jour. REMARQUE : Le nom de lensemble est la forme plurielle de lobjet. Par exemple, lobjet densemble de lobjet document est lobjet documents.
alert(app.documents.length) var myDoc = app.documents.add() alert(app.documents.length)
VBS Pour afficher un avertissement de scurit en VBS, utilisez la mthode MsgBox en saisissant MsgBox, puis en entrant le contenu de la bote de dialogue entre parenthses (()). Ne saisissez pas despace entre MsgBox et la premire parenthse. Pour savoir combien dobjets figurent dans un ensemble, utilisez la proprit Count (en lecture seule) de nimporte quel objet de lensemble. Le script suivant affiche un avertissement de scurit qui vous indique combien de documents figurent dans lensemble Documents, puis ajoute un document et affiche une nouvelle alerte avec le nombre mis jour. REMARQUE : Lensemble de lobjet est la forme plurielle de lobjet. Par exemple, lobjet densemble de lobjet Document est lobjet Documents.
Set appRef = CreateObject("Photoshop.Application") MsgBox(appRef.Documents.Count) Set myDoc = appRef.Documents.Add MsgBox(appRef.Documents.Count)
22
REMARQUE : Pour savoir si vous devez utiliser une numration pour une valeur de proprit, recherchez la proprit dans lune des rfrences de lcriture de scripts fournies par Adobe. Pour plus dinformations, reportez-vous au Chapitre 3, Recherche de proprits et de mthodes dobjets .
AS
En langage AS, vous utilisez des constantes comme vous le feriez avec nimporte quelle autre dfinition de proprit. Nentourez pas la constante de guillemets. Le script suivant utilise la valeur de constante dark green pour dfinir la couleur dun nouveau calque.
tell application "Adobe Illustrator CS5" set myDoc to make document set myLayer to make layer in myDoc set layer color of myLayer to dark green end tell
REMARQUE : Si dark green tait une valeur de chane et non une constante, elle serait entoure de guillemets :
set layer color of myLayer to "dark green"
JS
En langage JS, saisissez le nom de lnumration, un point (.), puis la valeur de lnumration. Vous devez utiliser lorthographe et lemploi de majuscules exacts dfinis dans les rfrences de lcriture de scripts fournies par Adobe. Le formatage diffre selon les applications Adobe. Par exemple :
X
Sous InDesign :
Z
Chaque numration commence par une lettre majuscule et tous les mots du terme compos commencent galement par une lettre majuscule. La valeur dnumration commence par une minuscule. Lexemple suivant utilise lnumration UIColor pour dfinir la couleur du calque sur vert fonc.
var myDoc = app.documents.add() var myLayer = mydoc.layers.add() myLayer.layerColor = UIColor.darkGreen
Sous Illustrator :
Z
Chaque numration commence par une lettre majuscule et tous les mots du terme compos commencent galement par une lettre majuscule. Certaines valeurs dnumration commencent par une lettre majuscule, puis utilisent des lettres minuscules. Les autres utilisent uniquement des majuscules. Vous devez vous assurer dutiliser la valeur exactement comme elle apparat dans la rfrence de lcriture de scripts. Lexemple suivant utilise lnumration RulerUnits pour dfinir lunit par dfaut sur centimtres.
var myDoc = app.documents.add() myDoc.rulerUnits = RulerUnits.Centimeters
23
Le script suivant utilise lnumration BlendModes dont les valeurs sont exprimes en lettres majuscules uniquement.
var myDoc = app.documents.add() var myLayer = myDoc.layers.add() myLayer.blendingMode = BlendModes.COLORBURN X
Sous Photoshop :
Z
Chaque numration commence par une lettre majuscule et tous les mots du terme compos commencent galement par une lettre majuscule. Les valeurs dnumration sont uniquement constitues de majuscules. Lexemple suivant utilise lnumration LayerKind pour faire du calque un calque de texte.
var myDoc = app.documents.add() var myLayer = mydoc.artLayers.add() myLayer.kind = LayerKind.TEXT
VBS
En langage VBS, vous utilisez des valeurs numriques pour les constantes.
Set appRef = CreateObject("Photoshop.Application") Set docRef = appRef.Documents.Add Set layerRef = docRef.ArtLayers.Add layerRef.Kind = 2
JS
24
VBS
Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Documents.Add(7, 10) docHeight = myDoc.Height docWidth = myDoc.Width myDoc.ResizeCanvas docWidth - 2, docHeight - 2
REMARQUE : La mthode MsgBox ne fonctionne pas lorsque vous ouvrez un script dans le menu Scripts de certaines applications Adobe. Pour afficher correctement la bote de dialogue de message, double-cliquez sur le fichier de script dans Windows Explorer.
JS
Vous insrez des mthodes la fin des instructions JS. Vous devez placer un point avant le nom de la mthode, puis vous indiquez le nom de la mthode entre parenthses (()).
app.activeDocument.print()
VBS
Vous insrez des mthodes la fin des instructions VBS. Vous devez placer un point avant le nom de la mthode.
Set appRef = CreateObject("Photoshop.Application") appRef.ActiveDocument.PrintOut
Paramtres requis
Les scripts suivants utilisent la commande merge qui requiert des indications relatives aux calques que vous souhaitez fusionner dans le calque slectionn. Comme les proprits, les paramtres des commandes sont entours daccolades ({}). Nanmoins, nincluez que la valeur du paramtre, et non le nom du paramtre, entre les accolades. REMARQUE : Ce script est conu pour InDesign. Il nexiste pas dopration de fusion dans Illustrator. Pour modifier ce script pour Photoshop, notez quun calque est appel art layer en AS et les calques sont appels artLayers en JS ou ArtLayers en VBS).
25
AS
tell application "Adobe InDesign CS5" set myDoc to make document set myLayer to make layer in myDoc set myLayer2 to make layer in myDoc merge myLayer2 with {myLayer} end tell
VBS Notez que le paramtre de mthode est entour de parenthses aprs le nom de la mthode. Ne saisissez pas despace avant la premire parenthse.
Set appRef = CreateObject("InDesign.Application") Set myDoc = appRef.Documents.Add Set myLayer = myDoc.Layers.Add Set myLayer2 = myDoc.Layers.Add myLayer2.Merge(myLayer)
Paramtres multiples
Lorsque vous dfinissez plus dun paramtre pour une commande ou une mthode, vous devez suivre des rgles spcifiques. AS Il existe deux types de paramtres pour les commandes AS :
X X
Un paramtre direct qui dfinit lobjet direct de laction excute par la commande Des paramtres libells qui sont tous les paramtres autres que les paramtres directs
Le paramtre direct doit suivre directement la commande. Dans linstruction suivante, la commande est make et le paramtre direct est document.
make document
26
Vous pouvez insrer des paramtres libells dans nimporte quel ordre. Le script suivant cre deux calques et dfinit lemplacement et le nom de chaque couche. Notez que, dans les instructions qui crent les calques, les paramtres location et name apparaissent dans des ordres diffrents.
tell application "Adobe InDesign CS5" set myDoc to make document tell myDoc set myLayer to make layer at beginning of myDoc with properties {name:"Lay1"} set myLayer2 to make layer with properties {name:"Lay2"} at end of myDoc end tell end tell
JS En JS, vous devez saisir des valeurs de paramtres dans lordre dans lequel ils sont rpertoris dans les ressources de rfrence de lcriture de scripts afin que le compilateur de scripts connaisse quelle valeur dfinit quel paramtre. REMARQUE : Pour plus dinformations sur les ressources de rfrence de lcriture de scripts, reportez-vous au Chapitre 3, Recherche de proprits et de mthodes dobjets . Pour ignorer un paramtre en option, saisissez la balise demplacement undefined. Linstruction suivante cre un document Photoshop CS5 dont la largeur est 4 000 pixels, la hauteur 5 000 pixels, la rsolution 72, le nom Mon document . Le mode du document est bitmap.
app.documents.add(4000, 5000, 72, "My Document", NewDocumentMode.BITMAP)
Linstruction suivante cre un document identique sauf que la rsolution nest pas dfinie.
app.documents.add(4000, 5000, undefined, "My Document", NewDocumentMode.BITMAP)
REMARQUE : Utilisez la balise demplacement undefined uniquement pour atteindre les paramtres dfinir. Linstruction suivante dfinit uniquement la hauteur et la largeur du document ; les balises demplacement ne sont pas ncessaires pour les paramtres en option suivants.
app.documents.add(4000, 5000)
VBS En VBS, vous devez saisir des valeurs de paramtres dans lordre dans lequel ils sont rpertoris afin que le compilateur de scripts connaisse quelle valeur dfinit quel paramtre. Pour ignorer un paramtre en option, saisissez la balise demplacement undefined. Linstruction suivante cre un document Photoshop CS5 dont la largeur est 4 000 pixels, la hauteur 5 000 pixels, la rsolution 72, le nom Mon document . Le mode du document est bitmap.
Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Documents.Add(4000, 5000, 72, "My Document", 5)
Linstruction suivante cre un document identique sauf que la rsolution nest pas dfinie.
Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Documents.Add(400, 500, undefined, "My Document", 5)
27
REMARQUE : Utilisez la balise demplacement undefined uniquement pour atteindre les paramtres dfinir. Linstruction suivante dfinit uniquement la hauteur et la largeur du document ; les balises demplacement ne sont pas ncessaires pour les paramtres en option suivants.
Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Documents.Add(4000, 5000)
Linstruction tell nomme lobjet par dfaut qui excute toutes les commandes contenues dans linstruction. Dans lexemple prcdent, linstruction tell cible lobjet application. En consquence, toute commande contenue dans linstruction doit tre excute par lobjet application sauf si un autre objet est explicitement nomm dans une instruction de script dans linstruction tell. Le script suivant prsente clairement la totalit de la hirarchie de confinement de chaque objet afin dindiquer lobjet cibl par la commande :
tell application "Adobe InDesign CS5" set myDoc to make document set myLayer to make layer in myDoc set myLayer2 to make layer in myDoc end tell
Vous pouvez crer un raccourci en changeant la cible de la commande. Pour ce faire, ajoutez une instruction tell imbrique. Le script suivant effectue exactement la mme opration que le script prcdent. Puisque linstruction tell imbrique cible lobjet document, il nest pas ncessaire de faire rfrence lobjet document dans les instructions qui crent les calques.
tell application "Adobe InDesign CS5" set myDoc to make document tell myDoc set myLayer to make layer set myLayer2 to make layer end tell end tell
Notez que chaque instruction tell doit tre incluse dans sa propre instruction end tell. Vous pouvez imbriquer autant dinstructions tell que vous le souhaitez.
28
JS
Pour modifier la valeur dune variable en JS, utilisez le nom de la variable suivi du symbole gal (=) et de la nouvelle valeur. Ne commencez pas linstruction de raffectation par var ; utilisez var uniquement lorsque vous crez une nouvelle variable.
var docRef = app.documents.add() var layerRef = myDoc.layers.add() layerRef.name = "First Layer" layerRef = myDoc.layers.add() layerRef.name = "Second Layer"
VBS
29
Commenter le script
Un commentaire de script est un texte que le moteur de script ignore lorsquil excute le script. Les commentaires sont trs utiles lorsque vous voulez documenter le fonctionnement ou lobjet dun script (pour vous-mme ou pour quelquun dautre). La plupart des programmeurs, mme les plus qualifis, prennent du temps pour insrer des commentaires pour presque chaque lment dun script. Les commentaires peuvent ne pas vous sembler importants lorsque vous rdigez vos scripts mais vous serez content davoir inclus des commentaires lorsque, un mois ou une anne plus tard, vous ouvrirez un script et vous vous demanderez ce que vous aviez essay de faire et pourquoi. AS Pour commenter toute ou partie dune ligne en AS, saisissez deux traits dunion (--) au dbut du commentaire. Pour commenter plusieurs lignes, entourez le commentaire par (* et *).
tell application "Adobe InDesign CS5" --This is a single-line comment print current document --this is a partial-line comment --the hyphens hide everything to their right from the scripting engine (* This is a multi-line comment, which is completely ignored by the scripting engine, no matter how many lines it contains. The trick is to remember to close the comment. If you dont the rest of your script is hidden from the scripting engine!*) end tell
REMARQUE : La seule chose que fait ce script est dimprimer le document ouvert. JS Pour commenter toute ou partie dune ligne en JS, saisissez deux barres obliques (//) au dbut du commentaire. Pour commenter plusieurs lignes, entourez le commentaire de /* et */.
//This is a single-line comment app.activeDocument.print() //this part of the line is also a comment /* This is a multi-line comment, which is completely ignored by the scripting engine, no matter how many lines it contains. Don?t forget the closing asterisk and slash or the rest of your script will be commented out...*/
REMARQUE : La seule chose que fait ce script est dimprimer le document actif.
30
VBS
En VBS, saisissez Rem (pour remarque ) ou ' (une apostrophe simple droite) au dbut du commentaire. VBS ne prend pas en charge les commentaires sur plusieurs lignes. Pour commenter plusieurs lignes en une seule fois, commencez chaque ligne avec lun des deux formats de commentaire.
'This is a comment. Set appRef = CreateObject("Photoshop.Application") Rem This is also a comment. appRef.ActiveDocument.PrintOut 'This part of the line is a comment. ' This is a multi-line ' comment that requires ' a comment marker at the beginning ' of each line. Rem This is also a multi-line comment. Generally, multi-line Rem comments in VBS are easier for you to identify (and read) in your scripts Rem if they begin with a single straight quote (') rather than if they begin Rem with Rem, because Rem can look like any other text in the script ' The choice is yours but isn?t this more easily ' identifiable as a comment than the preceding ' four lines were?
REMARQUE : La seule chose que fait ce script est dimprimer le document actif.
VBS
Saisissez un tiret long (_) suivi dun retour chariot pour couper une longue ligne tout en continuant linstruction. REMARQUE : Dans les deux langages, le caractre de continuation perd ses fonctionnalits sil est plac lintrieur dune chane (cest--dire lintrieur de guillemets). Si le saut de ligne se produit au sein dune valeur de chane, placez le caractre de saut avant la chane et insrez le saut de ligne avant. REMARQUE : En JavaScript, les instructions peuvent contenir des retours chariot. Il nest donc pas ncessaire dutiliser un caractre de continuation. Nanmoins, linterprteur ExtendScript interprte chaque ligne comme une instruction complte. Ainsi, en gnral, il est prfrable dinsrer des retours uniquement la fin des instructions.
Utilisation de tableaux
31
Utilisation de tableaux
En VBScript et JavaScript, les tableaux sont similaires des ensembles. Nanmoins, la diffrence des ensembles, les tableaux ne sont pas crs automatiquement. Vous pouvez vous reprsenter un tableau comme une liste de valeurs pour une seule variable. Par exemple, le tableau JavaScript suivant rpertorie quatre valeurs pour la variable myFiles :
var myFiles = new Array () myFiles[0] = "clouds.bmp" myFiles[1] = "clouds.gif" myFiles[2] = "clouds.jpg" myFiles[3] = "clouds.pdf"
Remarquez que chaque valeur est numrote. Pour utiliser une valeur dans une instruction, vous devez inclure le numro. Linstruction suivante ouvre le fichier clouds.gif:
open(myFiles[1])
REMARQUE : Alors que les indices des ensembles VBS commencent toujours la numrotation par (1), vous pouvez indiquer dans vos scripts VBS si les tableaux que vous crez commencent la numrotation par (1) ou (0). Pour savoir comment dfinir le numro de dbut dindice dun tableau, reportez-vous la documentation VBScript. Pour plus dinformations sur les ensembles et les numros dindice, reportez-vous Ensembles ou lments dobjets comme rfrences dobjet , page 13.
Cration dobjets
Votre premier script dmontrait comment crer un objet en utilisant la commande make (AS), la mthode add() (JS) ou la mthode Add (VBS) de lobjet densemble de lobjet. Par exemple : AS
tell application "Adobe Photoshop CS5" make document end tell app.documents.add()
JS VBS
Nanmoins, certains objets nont pas de commande make (AS), de mthode add() (JS) ou de mthode Add (VBS). Pour crer des objets de ce type, reportez-vous la section Cration dobjets du chapitre correspondant votre langage de script dans le guide dcriture de scripts Adobe de votre application.
32
Techniques dcriture de scripts avances , page 46 Le guide dcriture de scripts Adobe de votre application. Chapitre 6, Bibliographie
Dictionnaires dobjets ou bibliothques de types. Chaque application Adobe compatible avec les scripts fournit une bibliothque ou un dictionnaire de rfrence dans votre environnement dditeur de scripts. Les documents de rfrence sur lcriture de scripts dAdobe (au format PDF) qui se trouvent sur votre CD dinstallation. (Les documents de rfrence sur lcriture de scripts ne sont pas fournis avec toutes les applications Adobe.)
La description dun objet figure dans la fentre de visualisation infrieure. Les lments et proprits dun objet sont numrs sous sa description. Chaque nom dlment constitue un lien hypertexte vers le type dobjet de llment.
33
34
Le nom de la proprit. Le type de donnes entre parenthses. Si le type de donnes est un objet, ce type de donnes constitue un lien hypertexte vers lobjet. Si le type de donnes est une numration, le type de donnes est anything (nimporte lequel). Les valeurs valides sont listes aprs la description de la proprit et spares par des barres obliques (/), elles sont galement prcdes de la mention Can return: .
La valeur daccs : Si lobjet est en lecture seule, r/o apparat aprs le type de donnes. Si lobjet est en lecture-criture, aucune valeur daccs nest donne.
1. Slectionnez une suite pour afficher les objets et commandes de cette suite dans la fentre de la partie haute de lcran. 3. Affichez les informations sur lobjet dans la fentre infrieure. Description de lobjet. Liens vers les lments de lobjet.
Liste des proprits. Les types de donnes et valeurs daccs sont mis entre parenthses aprs le nom de la proprit. Remarque : La valeur daccs napparat que lorsque la proprit est en lecture seule. Affichage des commandes et des paramtres des commandes REMARQUE : Le dictionnaire de donnes liste les objets que vous pouvez utiliser avec une commande. Toutefois, il nindique pas les commandes que vous pouvez utiliser avec un objet. Pour afficher une liste des commandes que vous pouvez utiliser avec un objet, reportez-vous la rfrence dcriture de scripts AppleScript de votre application. Reportez-vous Utilisation des documents de rfrence Adobe relatifs lcriture de scripts , page 41 pour plus dinformations. Les valeurs numres sont prcdes de la mention Can return: .
35
Pour afficher les commandes dans le dictionnaire de donnes, suivez la procdure suivante : 1. Dans la fentre en haut gauche de lcran du dictionnaire de donnes, slectionnez la suite qui contient la commande. La fentre de la partie haute de lcran numre les commandes et objets contenus dans la suite. 2. Slectionnez la commande dans la fentre de la partie haute lcran. REMARQUE : Les commandes sont indiques par une icne ronde : icne carre : . ; les objets sont indiqus par une
Sous la description, les objets avec lesquels vous pouvez utiliser la commande sont numrs. Les paramtres sont numrs sous la liste des objets pris en charge. Si le paramtre est optionnel, il est indiqu entre crochets ([ ]). Si aucun crochet napparat avant et aprs le nom du paramtre, celui-ci est obligatoire.
Chaque nom de paramtre est suivi du type de donnes. Si le type de donnes est un objet, ce type de donnes constitue un lien hypertexte vers lobjet. Si le type de donnes est une numration, les valeurs valides sont prcdes de la mention Can return: , puis listes et spares par des barres obliques (/).
1. Slectionnez une suite pour afficher les objets et commandes de cette suite dans la fentre de la partie haute de lcran. 3. Affichez les informations sur la commande dans la fentre infrieure. Description de la commande. Liste des objets qui utilisent la commande. Paramtres, avec les types et descriptions des donnes.
2. Slectionnez la commande.
Remarque : Lorsque la valeur du paramtre est une numration, les valeurs numres sont prcdes de la mention Can accept: .
36
Fentre Membres de .
37
Les objets sont indiqus par licne suivante : Les constantes sont indiques par licne suivante :
Pour afficher les proprits et mthodes dun objet, slectionnez le type dobjet dans la fentre Classes. Les proprits et mthodes sont listes dans la fentre Membres de situe droite de la fentre Classes.
X X
Les proprits sont indiques par licne suivante : Les mthodes sont indiques par licne suivante :
Utilisation de listes de proprits dans lExplorateur dobjets Lorsque vous slectionnez une proprit dans la fentre Membres de, les informations concernant cette proprit saffichent dans la fentre dinformations au bas de la fentre Explorateur dobjets comme suit :
X
Si le type de donnes est une constante, cette constante constitue un lien hypertexte vers les valeurs de la constante. Les noms de constante commencent par un prfixe correspondant labrviation du nom de lapplication Adobe. Par exemple : Le prfixe Ps est utilis pour des numrations dans Photoshop CS5. Exemples : PsColorProfileType, PsBitsPerChannelType Le prfixe id est utilis pour des numrations dans InDesign CS5. Exemples : idRenderingIntent, idPageOrientation Le prfixe Ai est utilis pour les numrations dans Adobe Illustrator CS5. Exemples : AiCropOptions, AiBlendModes
Si le type de donnes est un objet, le nom de lobjet constitue un lien hypertexte vers le type dobjet.
38
La valeur daccs napparat que lorsque la proprit est en lecture seule. Si la proprit est en lecture-criture, aucune valeur daccs napparat.
Le type de donnes apparat ct du nom de la proprit. La valeur daccs nest rpertorie que lorsque laccs est en lecture seule.
39
Recherche de la valeur numrique dune numration En langage VBS, la valeur numrique dune numration est utilise comme une valeur de proprit. Par exemple, dans le script ci-dessous, le type de calque, reprsent par la proprit Kind dans la dernire ligne du script, est dfini par la valeur numrique 2, qui reprsente la valeur de la constante TextLayer.
Set appRef = CreateObject("Photoshop.Application") Set docRef = appRef.Documents.Add Set layerRef = docRef.ArtLayers.Add layerRef.Kind = 2 'PsTextLayer
Pour rechercher la valeur numrique dune numration, suivez la procdure suivante : 1. Cliquez sur le lien menant aux informations concernant lnumration.
40
2. Cliquez sur la valeur dnumration pour afficher la valeur numrique dans la fentre du bas.
Cliquez sur la valeur dnumration dans la fentre de droite pour afficher sa valeur numrique dans la fentre du bas. Utilisation des listes de mthodes Lorsque vous slectionnez une mthode dans la fentre Membres de , les informations concernant cette mthode saffichent dans le volet dinformations au bas de la fentre Explorateur dobjets comme suit :
X
Les paramtres optionnels sont indiqus entre crochets ([ ]). Si aucun crochet napparat avant et aprs le nom du paramtre, celui-ci est obligatoire.
Si le type de donnes est un objet, ce type de donnes constitue un lien hypertexte vers lobjet. Si le type de donnes est une numration, le nom de lnumration commence par les initiales de lapplication et constitue un lien hypertexte vers les informations concernant lnumration. Si une valeur par dfaut existe pour un paramtre, cette valeur est liste aprs le type de donnes, aprs le symbole gal (=).
REMARQUE : La valeur par dfaut est utilise si vous ne dfinissez aucune valeur pour un paramtre. Seuls les paramtres optionnels ont des valeurs par dfaut.
41
Le type de donnes est indiqu aprs le nom de la mthode. Si le type de donnes est une numration, le nom de lnumration commence par les initiales de lapplication et constitue un lien hypertexte vers les informations concernant lnumration.
1. Slectionnez la mthode dans la fentre Membres de . Les paramtres sont rpertoris entre parenthses aprs le nom de la mthode, les paramtres optionnels tant indiqus entre crochets ([ ]). La description de la mthode apparat au bas de la fentre dinformations. Sil existe une valeur par dfaut, celle-ci est prcde du symbole gal (=). Remarque : Nimporte quel type de donnes peut avoir une valeur par dfaut.
De plus, la plupart des sections dobjets contiennent un exemple dcriture de script utilisant lobjet ainsi que certaines de ses proprits, mthodes et commandes. Vous pouvez vous servir de nimporte quel script comme exemple ou point de dpart pour votre propre script, dans lequel vous pourrez changer des proprits ou des mthodes.
42
Les informations que vous pouvez tirer de ce tableau sont que, dans les objets document que vous crez pour cette application, vous pouvez crer des objets character style, layer et story. Par exemple :
tell application "Adobe InDesign CS5" set myDoc to make document set myCharStyle to make character style in myDoc with properties {name:"Bold"} set myLayer to make layer in myDoc set myStory to make story in myDoc end tell
Linstruction de script suivante produira une erreur car stroke style nest pas un lment de lobjet document de cette application.
tell application "Adobe InDesign CS5" set myDoc to make document set myStrokeStyle to make stroke style in myDoc with properties {name:"Erratic"} end tell
Les proprits que vous pouvez utiliser avec lobjet Le type de valeur pour chaque proprit Lorsque le type de valeur est une constante ou une numration, la valeur est prsente soit comme une liste de valeurs valides, soit comme un lien hypertexte vers la liste de constantes. Lorsque le type de valeur est un autre objet, la valeur est prsente comme un lien hypertexte vers la liste dobjets.
43
Une explication de ce que fait ou dfinit la proprit Les plages de valeurs valides Les dpendances dautres proprits
Lexemple suivant de tableau de proprits pour un objet art layer dans Photoshop contient des exemples de chaque type de donnes. Proprit
bounds
Ce que cest Lecture seule. Un tableau de coordonnes qui dcrivent le rectangle limitatif du calque au format [y1, x1, y2, x2]. Lecture seule. Le type de calque. Lecture-criture. Le nom du calque. Lecture-criture. Lopacit en pourcentage. (Plage : de 0.0 100.0) Lecture seule. Llment de texte qui est associ au calque. REMARQUE : Valide uniquement quand kind = LayerKind.TEXT. Voir kind.
Objet TextItem
visible
Boolen
Par exemple : AS
tell application "Adobe Photoshop CS5" set myDoc to make document set myLayer to make art layer in myDoc set properties of myLayer to {kind:text layer, name:"Captions", opacity:45.5, visible:true} set contents of text object in myLayer to "Photo Captions" end tell
REMARQUE : Vous ne pouvez pas dfinir les limites du calque car la proprit bounds est en lecture seule. JS
var myDoc = app.documents.add() var myLayer = myDoc.artLayers.add() alert(myLayer.bounds) // can't set the property because it is read-only myLayer.kind = LayerKind.TEXT myLayer.name = "Captions" myLayer.opacity = 45.5 // can use a decimal point because the type is not integer myLayer.textItem.contents = "Day 1: John goes to school" //see the properties table for the textItem object to find the contents property myLayer.visible = true
44
VBS
Set appRef = CreateObject("Photoshop.Application") Set docRef = appRef.Documents.Add Set layerRef = docRef.Layers.Add msgBox(layerRef.Bounds) ' can?t set the property because it is read-only layerRef.Kind = 2 layerRef.Name = "Captions" layerRef.Opacity = 45.5 // can use a decimal point because the type is not integer layerRef.TextItem.Contents = "Day 1: John goes to school" //see the Properties table for the TextItem object to find the Contents property layerRef.Visible = true
REMARQUE : En JS et VBS, les objets densemble sont conservs dans les proprits de lobjet qui les contient. Pour dterminer la hirarchie de confinement dun objet, vous devez localiser lobjet ou les objets qui utilisent lobjet densemble de cet objet (cest--dire, la forme plurielle de lobjet) en tant que proprit. Par exemple, documents.layers ou layers.textFrames.
Les mthodes que vous pouvez utiliser avec lobjet Le(s) paramtre(s) de chaque mthode
Z
Lorsque le type de paramtre est une constante ou un autre objet, la valeur est prsente comme un lien hypertexte vers la constante ou la liste dobjets. Dans lexemple suivant de tableau de mthodes, les types de paramtres NewDocumentMode et DocumentFill sont des constantes. Les paramtres peuvent tre obligatoires ou optionnels. Les paramtres optionnels sont indiqus entre crochets ([]).
Le(s) type(s) de valeurs de retour, qui est (sont) ce que produit la mthode Lorsque le retour est une constante ou un autre objet, la valeur est prsente comme un lien hypertexte vers la constante ou la liste dobjets. Dans lexemple suivant de tableau de mthodes, la valeur de retour Document est un objet.
Lexemple suivant de tableau de mthodes numre les paramtres pour la mthode add pour un document Photoshop CS5. Mthode
add [width] [, height] [, resolution]) [, name] [, mode]) [, initialFill] [, pixelAspectRatio])
Type de paramtre
UnitValue UnitValue number (double) string NewDocumentMode DocumentFill number (double)
Retours Document
Ce que cela fait Ajoute un objet document. (pixelAspectRatio Plage : 0.10 10.00)
45
Tous les paramtres sont optionnels, comme indiqu par la prsence des crochets. Les paramtres width et height sont par dfaut les units de rgle actuelles et, en consquence, le type de donnes est donc UnitValue. En dautres termes, si lunit de la rgle verticale est en pouces et que celle de la rgle horizontale est en centimtres, linstruction suivante cre un document large de 5 pouces et haut de 7 centimtres : AS : JS : VBS :
make document with properties {width:5, height:7} app.documents.add(5, 7) appRef.Documents.Add(5, 7)
Les instructions de script suivantes dfinissent des valeurs pour chaque paramtre numr dans lexemple de tableau des mthodes. AS
make documement with properties {width:5, height:7, resolution:72, name:"Diary", mode:bitmap, initial fill:transparent, pixel aspect ratio: 4.7}
JS VBS
app.documents.add(5, 7, 72, "Diary", NewDocumentMode.BITMAP, DocumentFill.TRANSPARENT, 4.7) appRef.Documents.Add(5, 7, 72, "Diary", 5, 3, 4.7 )
Instructions conditionnelles
instructions if
Si vous pouviez parler votre application Adobe, vous souhaiteriez pouvoir lui dire : si le document na quun calque, cre un deuxime calque . Cela constitue un exemple dinstruction conditionnelle. Les instructions conditionnelles prennent des dcisions ; elles donnent vos scripts un moyen dvaluer quelque chose, comme le nombre de calques, et dagir en fonction du rsultat. Si la condition est satisfaite, le script excute alors laction comprise dans linstruction if. Si la condition nest pas satisfaite, le script ignore laction comprise dans linstruction if. Chacun des scripts suivants ouvre un document puis vrifie si le document comprend un calque unique. Sil nexiste quun seul calque, le script ajoute un calque et rgle lopacit de remplissage du nouveau calque sur 65 %. AS Une instruction if en langage AS commence par le mot if suivi par la phrase de comparaison entre parenthses, puis du mot then. Vous devez fermer linstruction if par end if.
tell application "Adobe Photoshop CS5" --modify the hard-drive name at the beginning of the filepath, if needed set myFilepath to alias "c:Applications:Adobe Photoshop CS5:Samples:Ducky.tif" open myFilepath set myDoc to current document tell myDoc if (art layer count = 1) then set myLayer to make art layer with properties {fill opacity:65} end if end tell end tell
REMARQUE : AS utilise un symbole gal unique (=) pour comparer les valeurs. Fermez maintenant Ducky.tif et essayez nouveau le script en changeant linstruction if comme suit :
if (art layer count < 1) then
46
Instructions conditionnelles
47
JS
Une instruction if en langage JS commence par le mot if suivi par la phrase de comparaison entre parenthses. Placez laction de linstruction if entre accolades ({}).
var myDoc = app.open(File("/c/Program Files/Adobe/Adobe Photoshop CS5/Samples/Ducky.tif")); if(myDoc.artLayers.length == 1){ var myLayer = myDoc.artLayers.add() myLayer.fillOpacity = 65 }
REMARQUE : JavaScript utilise un symbole gal double (==) pour comparer les valeurs, au lieu dun symbole gal simple (=) utilis pour affecter des valeurs aux proprits ou aux variables. Fermez maintenant Ducky.tif et essayez nouveau le script en changeant linstruction if comme suit :
if(myDoc.artLayers.length < 1){
VBS
Une instruction if en langage VBS commence par le mot if suivi par la phrase de comparaison, puis du mot then. Vous devez fermer linstruction if par End If.
Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Open("/c/Program Files/Adobe/Adobe Photoshop_CS5/Samples/Ducky.tif") If myDoc.ArtLayers.Count = 1 Then Set myLayer = myDoc.ArtLayers.Add myLayer.FillOpacity = 65 End If
REMARQUE : VBS utilise un symbole gal unique (=) la fois pour comparer et affecter les valeurs. Fermez maintenant Ducky.tif et essayez nouveau le script en changeant linstruction if comme suit :
If myDoc.ArtLayers.Count < 1 Then
Instructions if else
Vous pouvez parfois avoir besoin de formuler des demandes lgrement plus complexes, telles que : si le document a un calque, rgler lopacit de remplissage du calque sur 50 %, mais si le document a plusieurs calques, rgler lopacit du calque actif sur 65 % . Ce type de situation ncessite une instruction if else. AS
tell application "Adobe Photoshop CS5" --modify the hard-drive name at the beginning of the filepath, if needed set myFilepath to alias "c:Applications:Adobe Photoshop CS5:Samples:Ducky.tif" open myFilepath set myDoc to current document tell myDoc if (count of art layers < 2) then set fill opacity of current layer to 50 else set fill opacity of current layer to 65 end if end tell end tell
Boucles
48
JS
var myDoc = app.open(File("/c/Program Files/Adobe/Adobe Photoshop CS5/Samples/Ducky.tif")); if(myDoc.artLayers.length < 2){ myDoc.activeLayer.fillOpacity = 50 } else{ myDoc.activeLayer.fillOpacity = 65 } Set appRef = CreateObject("Photoshop.Application") Set myDoc = appRef.Open("/c/Program Files/Adobe/Adobe Photoshop CS5/_ Samples/Ducky1.tif") If myDoc.ArtLayers.Count < 2 Then myDoc.ActiveLayer.FillOpacity = 50 Else myDoc.ActiveLayer.FillOpacity = 65 End If
VBS
Boucles
Il se peut que vous vouliez que votre script trouve et modifie tous les objets dun certain type. Par exemple, votre document peut comporter des calques visibles et des calques invisibles et vous aimeriez les rendre tous visibles. Vous voudriez que ce script sapplique plusieurs documents, mais vos documents possdent un nombre diffrent de calques. Dans une situation comme celle-ci, une instruction repeat (AS) ou une boucle (JS et VBS) peut vous tre utile. Une boucle passe dans un ensemble dobjets et excute une action pour chaque objet. Pour utiliser les scripts de cette section, ouvrez votre application Adobe et crez un document qui contient au moins neuf calques. Rendez certains calques visibles et cachez les autres calques. Sauvegardez le document, puis excutez le script, en substituant le nom de votre application et celui de lobjet layer dans le DOM de votre application. Le principe de base lorigine de ces boucles consiste dans le fait que le script identifie le premier calque dans llment ou lensemble et rgle la visibilit de ce calque sur true, puis identifie le calque suivant et rpte laction, et ainsi de suite jusqu ce quune action ait t excute pour chaque calque. AS
tell application "Adobe Illustrator CS5" set myDoc to current document tell myDoc set myLayerCount to (count layers) set myCounter to 1 repeat while myCounter <= (myLayerCount + 1) set myLayer to layer myCounter set myLayer with properties {visible:true} --the next statement increments the counter to get the next layer set myCounter to myCounter + 1 end repeat end tell end tell
Ce script utilise deux variables, myLayerCount et myCounter pour identifier un calque, puis incrmente le numro du calque jusqu ce que tous les calques aient t identifis dans le document.
Boucles
49
JS
var myDoc = app.activeDocument var myLayerCount = myDoc.layers.length for(var myCounter = 0; myCounter < myLayerCount; myCounter++) {var myLayer = myDoc.layers[myCounter] myLayer.visible = true}
Ce script utilise une boucle for, qui constitue lune des techniques les plus courantes en JavaScript. Tout comme lAppleScript mentionn plus haut, ce script utilise deux variables, myLayerCount et myCounter, pour identifier un calque, puis incrmente le numro du calque jusqu ce que tous les calques du document aient t identifis. Lincrmentation a lieu dans la troisime instruction, dans linstruction for : myCounter++. La syntaxe ++ ajoute 1 la valeur actuelle, mais najoute pas 1 tant que laction de boucle na pas eu lieu. En langage commun, la boucle for de ce script peut correspondre : 1. Commencer la valeur de myCounter 0. 2. Si la valeur de myCounter est infrieure la valeur de myLayerCount, utiliser alors la valeur de myCounter comme indice pour le calque assign myLayer, et rgler la visibilit de myLayer sur true. 3. Ajouter 1 la valeur de myCounter, puis comparer la nouvelle valeur de myCounter la valeur de myLayerCount. 4. Si myCounter est toujours infrieur myLayerCount, utiliser alors la nouvelle valeur de myCounter comme indice de myLayer et rgler la visibilit de myLayer sur true, puis ajouter 1 la valeur de myCounter. 5. Rpter jusqu ce que myCounter ne soit plus infrieur myLayerCount. VBS
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.ActiveDocument For Each object in myDoc.Layers object.Visible = True Next
La boucle For Each Next en langage VBScript dit simplement lapplication de dfinir la proprit Visible de chaque objet de lensemble Layers du document actif sur True. Vous remarquerez que lensemble est identifi par la hirarchie de confinement des objets parents (dans ce cas, par la variable myDoc) suivie du nom de lensemble, qui est la forme plurielle du nom de lobjet (dans ce cas Layers). REMARQUE : Lobjet nomm dans la boucle peut tre nimporte lequel. Le script fonctionne de la mme manire si vous substituez x object dans le script ci-dessous :
Set appRef = CreateObject("Illustrator.Application") Set myDoc = appRef.ActiveDocument For Each x in myDoc.Layers x.Visible = True Next
50
Mots rservs
Tout comme de nombreux autres diteurs de scripts, Script Editor et lESTK mettent certains mots en surbrillance lorsque vous les tapez. Par exemple, les valeurs Boolennes true et false sont toujours en surbrillance. Dautres exemples sont lists ci-dessous. AS
tell end with set
JS
VBS
Ces mots en surbrillance sont rservs par le langage de script des fins spciales et ne peuvent pas tre utiliss comme noms de variable. Vous pouvez utiliser des mots rservs dans une chane, car ils seront alors entre guillemets. Vous pouvez galement les utiliser dans des commentaires, car les commentaires sont ignors par le moteur de script. Si votre script indique une erreur de syntaxe, vrifiez que vous navez pas utilis un mot rserv. Pour obtenir la liste complte des mots rservs dans votre langage de script, reportez-vous lune des ressources rpertories au Chapitre 6, Bibliographie .
51
52
Cant get object : cela indique gnralement que vous navez pas bien dfini lobjet dans la hirarchie de confinement. Essayez dajouter in parent-object (o parent-object est lobjet qui contient lobjet indiqu dans le message derreur) aprs le nom de lobjet dans votre script, ou crez une instruction imbrique tell qui nomme lobjet parent. Expected "" but found end of script : assurez-vous que tous les guillemets ouvrent et ferment bien les chanes. Requested property not available for this object : vrifiez lorthographe des noms de toutes les proprits.
CONSEIL : Slectionnez le journal des rsultats (Result Log) en bas de la fentre de lditeur de scripts pour voir la progression de votre script ligne par ligne.
Si votre script contient une erreur de syntaxe, il ne sexcute pas et la section errone est grise. Une description du problme est souvent affiche dans la barre dtat au bas de la fentre ESTK. Lorsquune erreur de syntaxe a lieu, vrifiez les points suivants :
Z
Assurez-vous davoir fait un usage correct des majuscules et des minuscules. Rappelez-vous que tous les termes en JavaScript (sauf les noms dnumration) commencent par une minuscule, une majuscule tant utilise au dbut de chaque mot dun terme compos, comme ici : artLayer. Rappelez-vous galement que les noms de variables sont sensibles la casse.
Fermez toutes les parenthses, toutes accolades et tous les guillemets. Assurez-vous que ces caractres vont bien par deux. Assurez-vous dutiliser des guillemets droits. Ne mlangez pas non plus les guillemets simples et doubles. Par exemple : Incorrect : myDoc.name = "Mon document' Correct : myDoc.name = 'Mon document' Correct : myDoc.name = "Mon document"
REMARQUE : Certaines erreurs de syntaxe, telles que les guillemets droits ou courbes sont mises en surbrillance rouge. Le message de barre dtat dit simplement Syntax error (Erreur de syntaxe). Assurez-vous de bien utiliser des guillemets droits.
X
Si votre script contient une erreur dexcution, telle quun objet incorrectement identifi ou une proprit qui nexiste pas pour lobjet quelle essaye dutiliser, linstruction errone est mise en surbrillance mais le script continue de sexcuter, comme lindique licne tournante dans le coin infrieur droit de lcran. En outre, lerreur est dcrite la fois dans la fentre de la console JavaScript et dans la barre dtat.
53
Slectionnez Debug (Dbogage) > Stop (Arrter) ou appuyez sur la touche Shift+F5 pour arrter le script. Cherchez la nature de lerreur dans la console JavaScript. De brves descriptions des messages derreur les plus frquents figurent ci-dessous et peuvent vous aider savoir par o commencer. element is undefined : si llment non dfini est une variable, assurez-vous que le nom de cette variable ne contient pas de faute dorthographe et que la casse est respecte. Assurez-vous galement que la variable a t dfinie par une instruction var ou quune valeur lui a t attribue. Si llment non dfini est une valeur de chane, assurez-vous que cette valeur figure bien entre guillemets. undefined is not an object : assurez-vous que lobjet figurant dans linstruction mise en surbrillance est correctement identifi dans la hirarchie de confinement. Par exemple, si lobjet est un calque, assurez-vous davoir bien dfini le document qui contient ce calque. Pour les objets document, il peut tre ncessaire dinclure lobjet parent app.
Bibliographie
Ce chapitre contient une liste douvrages sur lcriture de scripts destins aux dbutants. Cette liste nest pas exhaustive. Vous pouvez galement rechercher des didacticiels en ligne pour votre langage de script.
AppleScript
Pour obtenir plus dinformations et dinstructions sur lutilisation du langage de script AppleScript, reportez-vous aux documents et sources suivants :
X
AppleScript for the Internet: Visual QuickStart Guide, 1st ed., Ethan Wilde, Peachpit Press, 1998. ISBN 0-201-35359-8. AppleScript Language Guide: English Dialect, 1st ed., Apple Computer, Inc., Addison-Wesley Publishing Co., 1993. ISBN 0-201-40735-3. Danny Goodmans AppleScript Handbook, 2nd ed., Danny Goodman, iUniverse, 1998. ISBN 0-966-55141-9. Site web AppleScript dApple Computer, Inc. : www.apple.com/applescript
JavaScript
Pour obtenir plus dinformations et dinstructions sur lutilisation du langage de script JavaScript, reportez-vous aux documents et sources suivants :
X X X
JavaScript: The Definitive Guide, David Flanagan, OReilly Media Inc, 2002. ISBN 0-596-00048-0 JavaScript Bible, Danny Goodman, Hungry Minds Inc, 2001. ISBN 0-7645-4718-6 Adobe Scripting, Chandler McWilliams, Wiley Publishing, Inc., 2003. ISBN 0-7645-2455-0
VBScript :
Pour obtenir plus dinformations et dinstructions sur lutilisation du langage de script VBScript, reportez-vous aux documents et sources suivants :
X X
Learn to Program with VBScript 6, 1st ed., John Smiley, Active Path, 1998. ISBN 1-902-74500-0 Microsoft VBScript 6.0 Professional, 1st ed., Michael Halvorson, Microsoft Press, 1998. ISBN 1-572-31809-0. VBS & VBSA in a Nutshell, 1st ed., Paul Lomax, OReilly, 1998. ISBN 1-56592-358-8 Site web de scripts du rseau des dveloppeurs Microsoft (MSDN) : msdn.microsoft.com/scripting
X X
54
Index
A
actions, 6 AppleScript dfinition, 6 dictionnaires, 33 premier script, 8 site Web, 54 arguments dfinition, 9 utilisation, 24 avertissement de scurit, 20
E
criture de scripts dfinition, 6 en savoir plus, 6 utilisation, 5 Editeur de scripts dictionnaires AppleScript, 33 emplacement par dfaut, 6 rsolution des problmes dans, 51 lments affichage dans les rfrences relatives lcriture de scripts, 42 numrations dfini, 17 utilisation, 21 ESTK affichage du modle objet JS, 36 emplacement par dfaut, 7 rsolution des problmes dans, 52 ExtendScript dfinition, 7
B
bibliographie, 54 botes de dialogue, 20 boolen, 17 boucles, 48
C
chanes, 16 commandes affichage dans les dictionnaires AS, 33, 35 proprits, 24 utilisation, 24 commentaires, 29 commentaires de script, 29 constantes dfini, 17 utilisation, 21
G
Guide JavaScript Tools, 7
H
hirarchie de confinement, 10, 12 dans les rfrences relatives lcriture de scripts, 42
D
dictionnaires, 33 DOM consultation, 10 dfinition, 10 dossier de dmarrage, 7
I
Illustrator, Voir Adobe Illustrator indice dfinition, 13 schmas de numrotation, 14 instructions conditionnelles, 46 instructions if, 46 instructions if else, 47 instructions tell (AS), 27
55
Index
56
J
JavaScript avantages de, 7 dfinition, 7 premier script, 8 utilisation de la casse, 15
L
longues lignes, 30
M
macros, 6 mthodes affichage dans les bibliothques de types VBS, 40 affichage dans les rfrences relatives lcriture de scripts, 44 arguments, 24 dfinition, 9 utilisation, 24
proprits affichage dans les bibliothques de types VBS, 37 affichage dans les dictionnaires AS, 33 affichage dans les rfrences relatives lcriture de scripts, 42 dfinition, 9 lecture seule, 20 lecture-criture, 20 types de donnes, 16 utilisation, 16 valeurs multiples, 17
S
scripts excution automatique, 7
T
tableaux, 31 cration, 31 dfini, 17 types de donnes, 16
O
objet parent, 10 objets actif, 15 actuel, 15 affichage dans les bibliothques de types VBS, 37 affichage dans les dictionnaires AS, 33, 35 affichage dans les rfrences relatives lcriture de scripts, 42 dfinition, 9 lments, 13 ensembles, 13 parent, 10 rfrences, 11 utilisation, 10
V
var, 11 variables changement de valeur de, 28 comme valeurs de proprit, 17 cration, 11 dfinition, 11 dfinition des valeurs, 11 dnomination, 13 pour des objets existants, 28 utilisation pour les valeurs de proprit, 23 VBScript : bibliothques de types, 36 dfinition, 7 extension, 8 premier script, 8
P
paramtres affichage dans les rfrences relatives lcriture de scripts, 44 dfinition, 9 direct (AS), 25 en option, 24 libell (AS), 25 requis, 24 utilisation, 24 utilisation de paramtres multiples, 25