Un AppleScript salverà le defunte macro di Office
04/02/2008 07:00 CET
Come noto Word ed Excel non supportano più le macro, lasciano in ambasce i tanti utenti che ne facevano uso con le versioni recedenti. Microsoft dice di usare gli AppleScript ma, per quanto semplificato sia questo linguaggio, il problema di come trovare la soluzione viene lasciato dagli uomini della Mac BU totalmente a carico degli utenti.
La domanda che tutti avremmo voluto fare, ma che solo alcuni hanno il potere di rivolgere con efficacia alle pubbliche relazioni di Microsoft, ovvero "dateci degli AppleScript che funzionino", ha trovato risposta dai tecnici della Mac BU.
Certo i tipi di automazione sono molti, ma quelli riportati dal NYT potrebbero essere utili in alcuni casi, basta copiarli ed incollarli in Script Editor, applicazione contenuta nella cartella AppleScript.
tell application "Microsoft Word"
(* *** "Correttore di testi da Internet" Script *** *)
activate
set docRange to text object of active document
clear formatting of find object of docRange
execute find (find object of docRange) find text "^p^p" replace with "•" replace replace all
clear formatting of find object of docRange
execute find (find object of docRange) find text "^p" replace with " " replace replace all
clear formatting of find object of docRange
execute find (find object of docRange) find text "•" replace with "^p" replace replace all
clear formatting of find object of docRange
execute find (find object of docRange) find text " " replace with " " replace replace all
end tell
Con questo script si possono, ad esempio, eliminare automaticamente in Word le errate impaginazioni di un testo pervenuto via posta elettronica. Prima vengono sostituiti con il simbolo "•" i doppi "a capo", poi gli "a capo" con uno spazio, vengono ancora riportati gli "a capo" corretti nel testo ed infine i doppi spazi diventano singoli. Ne risulta un testo tendenzialmente corretto.
Pogue ce ne fornisce un altro. Riguarda le sostituzioni di stili in Word, da quelle di un altro utente alle proprie.
tell application "Microsoft Word"
set myFind to find object of text object of active document
-set find and replacement styles info here
set findStyle to style Level1
set replStyle to style Heading1
-add style info to find object
clear formatting myFind
set style of myFind to findStyle
-add style info to replacement object
clear formatting replacement of myFind
set style of replacement of myFind to replStyle
-find and replace all instances
execute find myFind replace replace all
end tell
Se non sono gli script che fanno al caso vostro possono comunque essere presi a modello per funzioni similari ed eventualmente modificati a piacimento, sulla base dei comandi riconosciuti e riconoscibili. Per il resto conviene imparare ad usare gli AppleScript, magari comperando qualche voluminoso manuale.