erreur applescript

wanya74

Membre confirmé
19 Août 2003
20
0
Bonjour à tous,

est-ce que QQ'un sait ce qui peut provoquer une erreur comme celle là ?

J'esssaie de créer une nouvelle page sous indesign à l'aide de commande applescript.

Et qd je fait "tell page" voici l'erreur :

"InDesign 2.0.2 got an error: Can't set fill color of text frame id 142 of page id 116 of spread id 111 of document "Sans titre-2" to swatch "couleurTitre" of page 1 of document "Sans titre-2". (-10006)"
 
Bonjour,

L'erreur que tu cites veut dire "Impossible d'appliquer la couleur 'CouleurTitre' au bloc de texte 142, etc."

Pas de rapport avec la création d'une page...

Donnes plus de détails, on pourra mieux t'aider.

 

Oui voici le code que je compile pour obtenir l'erreur si sa peut vous donner des pistes :

--------------------------------
on ouvrirFichier()
tell application "InDesign 2.0.2"
set myTextFramePref to text frame preferences
set vertical justification of myTextFramePref to top
set justification of myTextFramePref to center

set myDocument to make document
tell myDocument
set myDocumentPreferences to document preferences
tell myDocumentPreferences
end tell
tell myDocument
try
set couleurTitre to make color
tell couleurTitre
set color model to process
set color space to cmyk
set color value to {55, 0, 55, 20}
set name to "couleurTitre"
end tell

set couleurImage to make color
tell couleurImage
set color model to process
set color space to cmyk
set color value to {0, 0, 0, 0}
set name to "couleurImage"
end tell

set couleurTableau to make color
tell couleurTableau
set color model to process
set color space to cmyk
set color value to {15, 0, 15, 0}
set name to "couleurTableau"
end tell
end try
end tell


end tell
end tell
return myDocument
end ouvrirFichier
--------------------------------
on ecrireFichier()
tell application "InDesign 2.0.2"
tell myDocument
tell page (count of pages)
set myTextFrameTitre to make text frame
set geometric bounds of myTextFrameTitre to {Y0titre, X0titre, Y1titre, X1titre}
set fill color of myTextFrameTitre to swatch "couleurTitre" <--
confused.gif
par ici l'erreur
set stroke color of myTextFrameTitre to swatch "couleurTitre"


set myTextFrameImage to make text frame
set geometric bounds of myTextFrameImage to {Y0image, X0image, Y1image, X1image}

set fill color of myTextFrameImage to swatch "couleurImage"
set stroke color of myTextFrameImage to swatch "couleurImage"


set myTextFrameTableau to make text frame
set geometric bounds of myTextFrameTableau to {Y0tableau, X0tableau, Y1tableau, X1tableau}
set fill color of myTextFrameTableau to swatch "couleurTableau"
set stroke color of myTextFrameTableau to swatch "couleurTableau"

set text of myTextFrameTitre to "titre"
set text of myTextFrameImage to "photo"
set text of myTextFrameTableau to "tableau"
end tell
end tell
end tell
end ecrireFichier
--------------------------------------
ouvrirFichier()
ecrireFichier()
 
Bonjour,

L'erreur d'écriture n'est pas à l'endroit que tu cites, mais un peu plus haut, au niveau du 'Tell page'. Dans Indesign, une couleur est un élément du document. Il te faut respecter la hierarchie des éléments d'une application.

Même chose pour 'set justification of myTextFramePref to center' : la justification horizontale d'un texte est une propriété... de texte. A utiliser donc au niveau d'un texte, paragraphe, ligne, mot, caractère.

Sinon, j'ai aussi modifié l'appel des handlers. De cette manière, la variable 'myDocument" passe de l'un à l'autre sans avoir besoin d'être déclarée comme 'Globale'

Voici donc le script modifié :

----------------------------------------------------------------------------

on ouvrirFichier()
tell application "InDesign 2.0.2"
set myTextFramePref to text frame preferences
set vertical justification of myTextFramePref to top
--set justification of myTextFramePref to center -- erreur n°1

set myDocument to make document
tell myDocument
set myDocumentPreferences to document preferences
tell myDocumentPreferences
end tell
tell myDocument
try
set couleurTitre to make color
tell couleurTitre
set color model to process
set color space to cmyk
set color value to {55, 0, 55, 20}
set name to "couleurTitre"
end tell

set couleurImage to make color
tell couleurImage
set color model to process
set color space to cmyk
set color value to {0, 0, 0, 0}
set name to "couleurImage"
end tell

set couleurTableau to make color
tell couleurTableau
set color model to process
set color space to cmyk
set color value to {15, 0, 15, 0}
set name to "couleurTableau"
end tell
end try
end tell


end tell
end tell
return myDocument
end ouvrirFichier
--------------------------------
on ecrireFichier(myDocument)
set {Y0titre, X0titre, Y1titre, X1titre} to {30, 20, 150, 40}
set {Y0image, X0image, Y1image, X1image} to {30, 60, 76, 90}
set {Y0tableau, X0tableau, Y1tableau, X1tableau} to {80, 60, 150, 90}

tell application "InDesign 2.0.2"
tell myDocument
set pageNum to (count of pages)
--tell page (count of pages) -- erreur n°2
set myTextFrameTitre to make text frame at end of page pageNum
set geometric bounds of myTextFrameTitre to {Y0titre, X0titre, Y1titre, X1titre}
set fill color of myTextFrameTitre to swatch "couleurTitre" -- [par ici l'erreur]
set stroke color of myTextFrameTitre to swatch "couleurTitre"


set myTextFrameImage to make text frame at end of page pageNum
set geometric bounds of myTextFrameImage to {Y0image, X0image, Y1image, X1image}

set fill color of myTextFrameImage to swatch "couleurImage"
set stroke color of myTextFrameImage to swatch "couleurImage"


set myTextFrameTableau to make text frame at end of page pageNum
set geometric bounds of myTextFrameTableau to {Y0tableau, X0tableau, Y1tableau, X1tableau}
set fill color of myTextFrameTableau to swatch "couleurTableau"
set stroke color of myTextFrameTableau to swatch "couleurTableau"

set text of myTextFrameTitre to "titre"
set text of myTextFrameImage to "photo"
set text of myTextFrameTableau to "tableau"
end tell
--end tell
end tell
end ecrireFichier
--------------------------------------
set myDocument to ouvrirFichier()
ecrireFichier(myDocument)
----------------------------------------------------------------------------

J.W.