Macro (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
FrescoBot (discussione | contributi)
m Bot: accenti e modifiche minori
Riga 1:
{{F|programmazione|ottobre 2012}}
In [[informatica]], il termine '''macro''' sta ad indicare una [[subroutine|procedura]], ovvero un "insieme" o "blocco" di [[istruzione (informatica)|comandi]] o [[istruzione (informatica)|istruzioni]], tipicamente ricorrente durante l'[[Esecuzione (informatica)|esecuzione]] di un [[programma (informatica)|programma]]. E'È concettualmente molto simile ad una [[funzione (informatica)|funzione]] ovvero può essere richiamata da eventi ed essere parametrizzata, permettendo [[riuso di codice]]. Un analogo concetto in ambito [[sistemista|sistemistico]] è quello di [[script|shell script]].
 
Consente dunque di eseguire una serie o blocco di operazioni/istruzioni con l'invio di un solo comando, riutilizzabili ed utili ad "automatizzare" su richiesta compiti più complessi delle singole istruzioni. Alcuni programmi hanno all'interno la capacità di creare/registrare ed eseguire macro; in alternativa esistono [[software]] di automazione che consentono di realizzare macro a livello superiore, e quindi per tutti i programmi che non le prevedono. In un [[foglio di calcolo]], alcune operazioni tipiche di una macro sono inserimento/eliminazione di righe/colonne, formattazione del testo/numero e colore, copia-incolla di valori, esecuzione di funzioni come le somme, impostazioni di stampa e salvataggio del ''[[file]]''.
Riga 106:
 
=== Anonimizzazione delle macro ===
La macro può essere resa utile dal significato del file e dei fogli di lavoro, sostituendo a questi istruzioni del tipo: ''ActiveSheet.Select"'' o ''"ActiveSheet.Add"''. Diversamente, se la macro è eseguita su un foglio di lavoro o file con nome diverso da quello registrato nel codice, l'esecuzione restituisce un messaggio di errore.
 
== Software ==
Riga 117:
Esistono, inoltre, editor di macro, programmi dedicati che lavorano con file di decine di programmi appartenenti a pacchetti proprietari e open-source differenti: ad esempio, [[AutoHotkey]], [[AutoIt]], [[iMacros]], [[Macro Mate]] e [[AutoMate]].
 
=== Microsoft Office ===
[[Microsoft Office]] consente l'esecuzione di macro all'interno di un singolo file o aprendo file salvati con i programmi [[Outlook]], [[Microsoft Word|Word]], [[Microsoft Excel|Excel]], [[Powerpoint]], [[Publisher]], [[Microsoft Access|Access]]. L'integrazione in pratica è disponibile per i programmi del pacchetto Office, e tramite [[Internet Explorer]] all'elaborazioni di dati pubblicati da altri applicativi nel web. Il registratore di macro è un [[editor grafico]], che genera un codice [[Visual Basic]], in base ai movimenti del ''mouse'' e alle stringhe digitate da tastiera. È possibile associare la macro ad un bottone che la richiama, e a un comando breve da tastiera (es. digitando "Alt+F5"), e salvarla a diversi livelli, per il file in uso, per una cartella di file oppure all'avvio di un programma di Office.
 
Riga 142:
Per farlo, occorre riscrivere il codice delle macro di origine nel linguaggio di programmazione utilizzato dal programma di destinazione per le macro: ciò può essere fatto manualmente o con ricompilatori automatici, interni o esterni ai programmi interessati.
 
[[Novell]] e [[Sun Microsystems]] hanno reso disponibile, con la collaborazione di Microsoft, una versione dei propri programmi Open Office e Star Office compatibili con Microsoft Office, almeno per alcune funzionalità. I due programmi hanno una funzionalità che converte il codice VBA delle macro Excel nel proprio linguaggio di programmazione <ref>[http://punto-informatico.it/1893852/PI/News/vba-openoffice-grazie-novell-sun.aspx PI: VBA in OpenOffice grazie a Novell e Sun<!-- Titolo generato automaticamente -->]</ref>. Invece, Microsoft Excel non contiene funzionalità per l'esecuzione di macro di Open office o Star Office.
 
Esistono anche dei ricompilatori automatici per passare da VBA a [[StarBasic]] e viceversa, e avere il codice necessario per eseguire la macro nel nuovo programma.