Registrare una macro con openoffice

Aprire office vba
Il caso in questione è una richiesta di salvare la cartella di lavoro attualmente aperta e creare una copia di questo file con un nome diverso. In particolare, questo viene fatto nel contesto di un programma di contabilità generale.
Alla fine dell’anno fiscale, una macro viene utilizzata per aggiornare il foglio di calcolo contabile creando un bilancio finale e un conto economico. La macro salva quindi la cartella di lavoro aperta (ad esempio con il nome originale di agl.ods). La macro costruisce ora un nuovo nome di file, che include il vecchio anno fiscale, e una versione di archivio del foglio di lavoro viene memorizzata (ad esempio come agl_2020.ods).
La ragione di questa serie piuttosto contorta di salvataggi di file è che, se la cartella di lavoro corrente venisse semplicemente salvata come agl_2020.ods, Calc adotterebbe questo nome per il foglio di calcolo aperto che verrebbe poi ulteriormente modificato man mano che il processo di impostazione per il nuovo anno fiscale viene continuato. Chiaramente questo non è desiderabile. Quindi il file di lavoro viene memorizzato temporaneamente come agl.ods, e una copia viene fatta in agl_202.ods. Questo lascia Calc utilizzando il file di lavoro agl.ods, in modo che la macro possa continuare a reimpostare il sistema contabile per il prossimo anno fiscale.
Macro di record di Libreoffice
Questo articolo ha una doppia licenza sotto la Creative Commons Attribution-ShareAlike License e la GNU Free Documentation License. Gli esempi di codice sono di pubblico dominio. Contattate l’autore se siete interessati ad altre forme di licenza.
OpenOffice.org usa StarBasic come linguaggio macro. Non entrerò nei dettagli del linguaggio stesso, ma gli esempi forniti qui dovrebbero essere facili da capire se avete qualche esperienza di programmazione. Potete trovare tutorial e informazioni generali sulle macro StarBasic, insieme a informazioni sullo scripting di OpenOffice.org, altrove sul web.
Potete modificare ed eseguire le macro in OpenOffice.org attraverso la finestra di dialogo Macro (Strumenti->Macro->Macro…), che è più o meno autoesplicativa. Per brevità, le macro elencate in questo articolo di solito non dichiarano le variabili che usano, quindi non funzionano con Option Explicit. In generale, sono state progettate per OpenOffice.org 1.1, ma la maggior parte funziona anche nella 1.0 e dovrebbe funzionare anche con diverse versioni di StarOffice.
Registrare le prospettive delle macro
Alcune sequenze di tasti e voci di menu sono diverse su macOS da quelle usate in Windows e Linux. La tabella sottostante fornisce alcune sostituzioni comuni per le istruzioni in questo documento. Per un elenco dettagliato, consultare la Guida dell’applicazione.
Una macro è un insieme di comandi o sequenze di tasti che vengono memorizzati per un uso successivo. Un esempio di una semplice macro è quella che inserisce il tuo indirizzo in un documento aperto. Puoi usare le macro per automatizzare sia compiti semplici che complessi. Le macro sono molto utili quando si deve ripetere lo stesso compito nello stesso modo.
Il primo passo per imparare la programmazione delle macro è trovare e usare le macro esistenti. Questa sezione presuppone che abbiate una macro che volete usare, che potreste aver trovato in un libro o su internet. Per questo esempio viene usata la macro nel listato 1. Dovreste creare una libreria e un modulo per contenere la vostra macro; vedete “Organizzazione delle macro” più avanti per maggiori informazioni.
Per alcuni casi in cui si desidera inserire ripetutamente informazioni in un documento, potrebbe essere più conveniente creare un AutoText. Vedere il Capitolo 2, Lavorare con il testo: Nozioni di base, nella Writer Guide per maggiori informazioni.
Come registrare una macro
La registrazione di macro è un’operazione che cerca di raccogliere le operazioni che un utente ha eseguito nell’interfaccia utente della sua applicazione. L’utente potrebbe usare il mouse o la tastiera per avviare una funzione, inoltre (s)aggiunge alcuni parametri (ad esempio inserendo dati in una finestra di dialogo) di cui la funzione selezionata ha bisogno per eseguire il compito. L’aspettativa dell’utente è che qualunque cosa un registratore di macro registri, il risultato della riproduzione di questa macro registrata dovrebbe essere esattamente lo stesso di quello delle operazioni nella GUI che sono state registrate – ma senza la necessità di alcuna azione aggiuntiva (come l’inserimento di parametri nelle finestre di dialogo).
Se un utente seleziona Edit → Insert Special Character nel menu, nessun parametro viene passato al codice C++ all’interno dell’applicazione, solo il nome del comando che specifica la funzione desiderata. Così questo codice apre la finestra di dialogo “Carattere speciale” e riceve indietro un carattere e un nome di font. Questi due argomenti sono memorizzati in una lista di parametri che viene consegnata al codice che inserirà il carattere nel documento.