applescript pour omnioutiliner

two

Membre actif
6 Novembre 2005
897
291
Namur
Bonjour
je cherche à faire un script qui me permet de cocher la première case non cochée d'un document omnioutliner et d'ajouter l'heure à laquelle cette case est cochée dans la cellule adéquate... (ce script sera activé par un raccourci clavier)
pour le moment j'en suis à ca :
set numero to 1
repeat
tell application "OmniOutliner"
set cellule to cell numero of column 2 of document "Programme Journée 1"
if state of cellule is not checked then
set numero to (numero + 1)
else
exit repeat
end if
end tell
end repeat
tell application "OmniOutliner"
set state of cellule to checked
**ici je ne trouve pas le moyen de récupérer l'heure**
end tell
le problème c'est que quand je l'exécute il me met un message d'erreur qui donne ceci
Erreur dans OmniOutliner : Impossible de transformer cell 1 of column 2 of document "Programme Journée 1" en type reference.
Par la suite je ne trouve pas le moyen de récupérer l'heure actuelle et de la mettre dans un champ
omnioutliner permet de le faire avec le raccourci pomme @ mais ce que je cherche c'est le moyen de remlir ce champ sans devoir mettre omnioutliner au premier plan (donc pas de keystroke)
Avez vous des pistes à me donner?
 
Essaie ceci, ça fonctionne avec la version 2.2.6 de OmniOutliner

Bloc de code:
tell (current date) as string to set l_heure to text -8 thru -1

tell application "OmniOutliner"
	tell (first row of document 1 whose state is unchecked) -- la première case non cochée
		set state to checked
		set text of cell 2 to l_heure -- mets l'heure dans la deuxième colonne
	end tell
end tell
 
Merci beaucoup macjac cela fonctionne
Sobre et efficace :up:
J'ai juste du intervertir les commandes "set state to checked" et " set text of cell 2 to 1_heure" car avec la version 3.6.1 il me mettait l'heure dans la première ligne non cochée (donc celle en dessous de la ligne qui a été cochée par la commande précédente);)

Pour éclairer ma lanterne tu peux m'expliquer le foles raisons et le fonctionnement de ta première ligne de commande : tell (current date) as string to set l_heure to text -8 thru -1 ?


Comme cela peut intéresser du monde (qui sait) je mets le code qui fonctionne pour omnioutliner version 3.6
tell (current date) as string to set l_heure to text -8 thru -1

tell application "OmniOutliner"
tell (first row of document "titre de mon document" whose state is unchecked) -- la première case non cochée
set text of cell 2 to l_heure -- mets l'heure dans la deuxième colonne
set state to checked
end tell
end tell
 
Bonjour :)

Pour éclairer ma lanterne tu peux m'expliquer le foles raisons et le fonctionnement de ta première ligne de commande : tell (current date) as string to set l_heure to text -8 thru -1 ?
tell (current date) as string : c'est la partie texte de la date, ex : "Lundi 06 novembre 2006 22:59:11".
text -8 thru -1 : c'est le huitième caractère avant la fin du texte jusqu'au dernier caractère du texte.

Mais ça fonctionne pour un format qui ne contient pas de (AM, PM).

Pour une utilisation universelle, c'est comme ceci.;)
Bloc de code:
tell ((current date) as «class isot» as string) to set l_heure to text 12 thru 19
 
Bonjour,

comment fait on pour réaliser des scripts ?
Le code que vous utilisez comprend en partie des instructions standards mais également des champs propre à OmniOutliner (genre column,etc).
Où trouvez vous ces champs ?

Merci d'avance pour vos réponses
 
Bonjour :)

comment fait on pour réaliser des scripts ?
Avec l'application "Éditeur de script" qui est dans le dossier "Applescript" du dossier "Applications".

Le code que vous utilisez comprend en partie des instructions standards mais également des champs propre à OmniOutliner (genre column,etc).
Où trouvez vous ces champs ?
Glisse l'application "OmniOutliner" et dépose le sur l'icône de l'application "Éditeur de script", tu vas avoir son dictionnaire dans une fenêtre.;)