Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

erreur applescript

Discussion dans 'Développement Mac' créé par wanya74, 2 Septembre 2003.

  1. wanya74

    wanya74 Nouveau membre

    Inscrit:
    19 Août 2003
    Messages:
    20
    J'aime reçus:
    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)"
     
  2. ionah

    ionah Membre junior

    Inscrit:
    21 Novembre 2002
    Messages:
    78
    J'aime reçus:
    0
    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.

     
  3. -anonyme-

    -anonyme- Légende

    Inscrit:
    26 Février 2001
    Messages:
    66 286
    J'aime reçus:
    2 668

    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" <-- [​IMG] 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()
     
  4. ionah

    ionah Membre junior

    Inscrit:
    21 Novembre 2002
    Messages:
    78
    J'aime reçus:
    0
    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.
     
  5. -anonyme-

    -anonyme- Légende

    Inscrit:
    26 Février 2001
    Messages:
    66 286
    J'aime reçus:
    2 668
    merci de ton aide....!
     
Chargement...