Imaginons qu'on veuille demander à l'utilisateur de choisir le fichier sur lequel il veut agir. Disons qu'on veut nettoyer un fichier HTML de ces tabulations et de ces retour-chariots. On va donc demander à l'utilisateur de choisir un fichier sur le disque et ensuite la recherche s'effectuera sur ce fichier.
Le Script : setmon_aliastochoose file with prompt"Choisissez un document HTML"default location((path to desktop folder)asalias)of type{"TEXT", "EPSF", "XLS8"}withoutmultiple selections allowedandinvisibles
tellapplication"BBEdit" activate openmon_alias replace return using"" searching in text1oftext window1options{search mode:literal,starting at top:true,wrap around:false,reverse:false,case sensitive:false,match words:false,extend selection:false} replace return using" "searching in text1oftext window1options{search mode:literal,starting at top:true,wrap around:false,reverse:false,case sensitive:false,match words:false,extend selection:false} end tell Explications : On utilise la fonction "choose file" qui nous permet de choisir un fichier présent sur le disque. Le résultat est un alias mémorisé dans"mon_alias". Ensuite, le document choisi est ouvert depuis BBEdit de manière classique.
Les paramètres de "choose file" : "with prompt" : permet d'ajouter un texte dans la fenêtre qui s'ouvre "default location" : permet de choisir un dossier de départ, ici le dossier "Desktop" de l'utilisateur
"of type {"xxxx", "yyyy",…} : permet de griser tous les fichiers qui ne sont pas d'un des types de la liste. "multiple selections allowed" : permet de choisir ou non plus qu'un seul fichier
"invisibles" : permet de voir ou non les fichiers commençant par un point comme ".Trash"
Utilisation de "choose file withmultiple selections allowed". Avec l'option "with multiple selections allowed", nous pouvons sélectionner plusieurs fichiers. À ce moment, le résultat renvoyé par "choose file" n'est plus un Alias mais une liste d'Alias. Nous ouvrirons les fichiers un par un dans BBEdit grâce à une fonction Repeat.
Le Script : setmon_aliastochoose file with prompt"Choisissez un document HTML"default location((path to desktop folder)asalias)of type{"TEXT", "EPSF", "XLS8"}withmultiple selections allowedwithoutinvisibles
tellapplication"BBEdit" activate repeat withiinmon_alias openi replace return using"" searching in text1oftext window1options{search mode:literal,starting at top:true,wrap around:false,reverse:false,case sensitive:false,match words:false,extend selection:false} replace return using" "searching in text1oftext window1options{search mode:literal,starting at top:true,wrap around:false,reverse:false,case sensitive:false,match words:false,extend selection:false} end repeat end tell Explication : Pour ouvrir chaque Alias de la liste, on utilise une fonction "Repeat" avec la particularité que la variable (le "i") est incrémentée dans la liste. On peut donc utiliser "open i" pour ouvrir le fichier désigné par l'Alias.
Astuce : Si nous n'avons choisi qu'un seul fichier, le résultat de la fonction "choose file" est une liste contenant un seul Alias.