Un AppleScript salverà le defunte macro di Office

04/02/2008 07:00 CET

di Fabio M. Zambelli

00000a_fotonews001Programmare uno script non è proprio alla portata di tutti, allora la Mac BU ne ha forniti un paio esemplari per trovare un sostituto di funzioni automatizzate. Ma le esigenze sono le più disparate e qualcuno ci ha anche lavorato ore per creare la giusta macro.

Programmare uno script non è proprio alla portata di tutti, allora la Mac BU ne ha forniti un paio esemplari per trovare un sostituto di funzioni automatizzate. Ma le esigenze sono le più disparate e qualcuno ci ha anche lavorato ore per creare la giusta macro.
 
L'editorialista del New York Times, Daid Pogue, si è preoccupato di mettere una pezza alle mancanze di Microsoft Office 2008 per Mac, a pochi giorni dall'esordio in versione italiana.

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.



setteB.IT – la settimana digitale vista dall'utente mac