Applescript - je dois rater quelque chose - Résolu

Chrisdfr

Membre confirmé
4 Décembre 2012
83
2
Bonjour,

Je débute avec applescript et je bute sur un problème.

Quand je créé ce script depuis l'éditeur de script, ça fonctionne sans problème. La case e2 prend bien la valeur 2

tell application "Numbers"
activate
open "/Users/admin/Documents/test.numbers"
set numero to "2"
tell table 1 of sheet 1 of front document
set the value of cell "e2" to numero
end tell
end tell

Cependant quand je rajoute un autre bloc en amont, qui ici ne fait rien mais devra faire quelque chose plus tard, ça ne fonctionne plus.
tell application "Finder"
set numerofinder to "5"
return
end tell

tell application "Numbers"
activate
open "/Users/admin/Documents/test.numbers"
set numero to "2"
tell table 1 of sheet 1 of front document
set the value of cell "e2" to numero
end tell
end tell

Plus tard, je voudrais faire une récupération de valeur depuis le finder vers Numbers. Mais comme ça ne fonctionnait pas j'ai simplifié mon code pour voir d'où ça venait. Et je constate que quand on rajoute un bloc "tell ... finder" en amont, le second "tell.... Numbers" ne prend pas la main.

Est ce que quelqu'un pourrait m'indiquer ce qui bloque ?

Merci
Chris
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 495
397
Lorraine
Bonjour,

Ce qui bloque est ton "return" dans le bloc "finder"

Supprime ce return et cela devrait fonctionner
 

Chrisdfr

Membre confirmé
4 Décembre 2012
83
2
Merci beaucoup pour votre aide, c'était bien ça.

En revanche, quand je complexifie un peu mon script, la variable créée dans le premier bloc ne semble pas vue par le second. Je pensais que ce "return" permettait que le second bloc puisse récupérer la variable. Si je ne le mets pas, j'ai une erreur, "variable non définie".

Du coup comment le second bloc peut il utiliser le résultat d'une variable créée dans le premier bloc ?
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 495
397
Lorraine
Normalement la variable est bien vue
--Ta variable porte bien le même nom ?
Dans ton exemple numerofinder puis numero ?
 

Chrisdfr

Membre confirmé
4 Décembre 2012
83
2
Oui, c'est assez bizarre. Je viens de fermer l'éditeur de script, puis rouvrir le script qui produisait l'erreur et là, il fonctionne.

J'avais deux documents numbers ouverts.
  • Un pour mon script de développement et un autre pour mon test. Bien que j'appelle le fichier "numbers1" spécifique à mon développement, si le fichiers "numbers2" de test est ouvert, il semble considérer le mauvais fichier, le N°2 comme fenêtre courante et pointe le mauvais fichier. En fermant le fichiers numéro 2 (de test), ça fonctionne... Donc il vaut mieux ne pas avoir plusieurs fichiers numbers ouverts en même temps.

Merci et en tout cas pour votre aide.
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 495
397
Lorraine
Dans ton code:
tell table 1 of sheet 1 of front document

cette ligne dit d'exécuter la commande sur le fichier numbers qui est au premier plan sur la première table sur la première feuille...

Met la commande activate après l.ouverture de ton fichier…
 
Dernière édition: