Themes d'AppleWorks


Particulièrement utile lorsqu'un programme utilise des documents AppleWorks, mais qui doivent s'exécuter sur des environnements complètement différents. Ceci évite à l'utilisateur de reformater ces documents pour son imprimante à chaque mise à jour de ces documents.
Pour enregistrer un format d'impression, il faut l'enregistrer en class Print Record, mais surtout prendre garde d' utiliser uniquement des "copy ... to" et non pas des "set ... to" pour prendre la variable du format d'impression enregistrée:
tell application "AppleWorks"
copy {class:print record, PSt:page setup of document 1} to Var -- on prend le format d'impression
open for access the file "Disque:Test" with write permission -- on ouvre le fichier qui contiendra Var
write Var to file "Disque:Test" as print record -- on écrit cette variable dans ce fichier
close access the file "Disque:Test" -- ne pas oublier de fermer ce fichier
end tell

 
Pour récupérer l'enregistrement :
tell application "AppleWorks"
open for access the file "Disque:Test" without write permission -- on ouvre le fichier qui contient Var
copy (read file "Disque:Test" as print record) to y -- on prend la variable du format d'impression
close access the file "Disque:Test" -- on ferme le fichier
copy PSt of y to page setup of document 1 -- on applique le format d'impression au document
end tell

 


A voir tous ses scripts à la suite les uns des autres dans notre menu script, une envie de les classer par thème dans des dossiers vous viens à l'esprit. Très bonne idée, ainsi vous créez des sous-menu en face de chaque thème (qui est le nom du dossier) qui liste tous les scripts qui s'affèrent à celui-ci.
Mais alors il faut prendre garde aux scripts appelés par la fonction macro d'une feuille de calcul ou d'une base de données. Prenons un exemple :
Nous avons un script de nom "Test" dans lequel nous avons écrit une fonction "Bipbip" qui produit deux beeps :
on Bipbip()
beep 2
return true
end Bipbip
Tant que ce script se trouve dans le menu script, pour l'appeler nous avons écrit dans une cellule d'une feuille de calcul d' AppleWorks :
= MACRO("Test";2;"bipbip")
Après notre rangement, nous avons mis ce script "Test" dans un dossier de nom "Inutile".
Du coup dans notre menu script nous avons le choix "Inutile" avec un sous-choix "Test".
Bien évidemment notre cellule ne fait plus bip bip mais nous renvoie "N/D" qui veut dire qu'il n'a pas trouvé le script.
Pour retrouver notre bip bip il faut entrer :
= MACRO(":Inutile:Test";2;"bipbip")
Et tout rentre dans l'ordre.
 

Un script du menu Script d'AppleWorks, ne doit pas lancer un script qui contient un "tell application "AppleWorks", sans, au préalable, avoir terminé son action. Il est donc déjà impératif de ne lancer que des scripts sous forme d'application :
Si depuis un script du menu Script d' AppleWorks on lance une application, par exemple FaceSpan, et si, dans cette application le script exécute un "tell application 'AppleWorks' ... End tell", AppleWorks ne répond plus à aucune commande. (curseur montre à perpétuité)
Pour éviter cette erreur il est obligatoire de terminer le script du menu Script d' AppleWorks avant que le script de l'application ne s'exécute. Par exemple en mettant un dialogue dans l'application, du genre "êtes-vous certain de vouloir faire cela", pour que le script du menu Script d' AppleWorks atteigne le end de la fonction ou du run.
 
Attention aux alias du dossier "Scripts Appleworks".
Dans le menu Script d' AppleWorks on peut créer des sous-menus en mettant simplement des dossiers dans le dossier des Scripts d' AppleWorks. On peut également mettre des alias de dossiers ou de scripts. Dans ce cas prendre garde que dans ces dossiers il n'y ait pas d' alias du dossier "Scripts AppleWorks", dans ce cas l'ordinateur se bloque au lancement d' AppleWorks au stade "initialisation des menus".
 
AppleWorks 6 :
- le dictionnaire personnel n'est pas pris en compte lors de la vérification orthographique.
- lors de l'ouverture d'un document créé en version 5, les macros ne sont pas pris en compte.
- la fonction AppleScript de remplissage d'un bloc de cellule ne fonctionne plus :
set cells "A1" thru "E1" of spreadsheet of document 1 to {1,2,3,4,5}
...
conseil : si vous voulez mettre à jour, pardon acheter ce logiciel, attendez une mise à jour de la version 6.0 ! ...