Come scrivere macro JavaScript in ONLYOFFICE Docs


Devi lavorare con documenti Word, fogli di calcolo Excel o presentazioni PowerPoint e devi ripetere attività complesse più e più volte? Ad esempio, è necessario evidenziare valori duplicati in un foglio o rimuovere forme dalle diapositive di una presentazione.

Se questo è il caso, potrebbe essere difficile per te come utente Linux. L'esecuzione manuale di tali attività non ha senso. Molte operazioni diverse possono essere facilmente eseguite automaticamente con le macro VBA in Microsoft Office. Tuttavia, c'è un problema serio: non funzionano nativamente su macchine Linux.

Tuttavia, esiste una soluzione ingegnosa a questo problema. Puoi scrivere ed eseguire macro JavaScript in ONLYOFFICE Docs per eseguire operazioni monotone.

Leggi questo articolo per scoprire come.

Sommario

Cos'è ONLYOFFICE Documenti?

ONLYOFFICE Docs è una suite per ufficio open source e self-hosted progettata per creare un ambiente collaborativo locale su un server Linux o Windows.

Offre i vantaggi della modifica e della creazione condivisa di documenti in tempo reale a un gran numero di soluzioni di condivisione di file, piattaforme di e-learning e sistemi di gestione dei documenti.

Attualmente è compatibile con Moodle, Drupal e altri software. L'integrazione è possibile tramite connettori pronti all'uso disponibili su GitHub.

Utilizzando ONLYOFFICE Docs, puoi lavorare con tutti i tipi di file Office più diffusi, inclusi documenti di testo, fogli di calcolo, moduli compilabili, diapositive e PDF.

Il formato nativo di ONLYOFFICE Docs è OOXML (DOCX, XLSX, PPTX), quindi può sostituire facilmente Microsoft Office su macchine Linux. Altri formati popolari, come ODF, sono supportati tramite la conversione automatica in OOXML.

Oltre alla sua versione self-hosted, ONLYOFFICE Docs ha una versione cloud gratuita per uso personale. Inoltre, sono disponibili app gratuite per tutte le piattaforme desktop e mobili più diffuse, inclusi Windows, macOS, Linux, Android e iOS.

Quando si tratta di automazione delle attività, ONLYOFFICE Docs non è compatibile con le macro VBA di Microsoft. Utilizza macro JavaScript in grado di eseguire le stesse operazioni in modo molto più sicuro.

Guida introduttiva alle macro per ONLYOFFICE Docs

Una macro è un piccolo script che semplifica il lavoro con diversi tipi di documenti automatizzando una determinata attività. In altre parole, è un pezzo di codice di programmazione che contiene una serie di azioni che puoi eseguire tutte le volte che vuoi.

Ad esempio, puoi eseguire la macro corrispondente per evidenziare i duplicati nell'area selezionata nel tuo foglio di calcolo con colori diversi.

In ONLYOFFICE Docs, appare così:

Qual è l'utilità pratica di questa macro? Quando si lavora con i dati, è possibile eseguire la macro salvata in pochi secondi facendo clic sul pulsante corrispondente per evidenziare i valori duplicati tutte le volte che è necessario, risparmiando ore di tempo.

In ONLYOFFICE Docs, le macro sono basate sulla sintassi JavaScript e sui metodi API di ONLYOFFICE Document Builder. Ci sono alcuni ovvi motivi per cui sono migliori delle macro VBA:

  • Le macro di ONLYOFFICE sono multipiattaforma: a differenza di Visual Basic, JavaScript è un linguaggio di programmazione più comune. Pertanto, le macro JavaScript possono essere facilmente eseguite su piattaforme Windows, Linux e macOS.
  • Le macro di ONLYOFFICE sono facili da usare: JavaScript è spesso consigliato ai principianti e ha una community in rapida crescita. Molte persone scelgono JavaScript come primo linguaggio di programmazione perché ci sono un sacco di tutorial e guide dettagliate su Internet.
  • Le macro di ONLYOFFICE sono sicure – Il codice JavaScript delle macro di ONLYOFFICE viene eseguito nella stessa finestra degli editor. Pertanto, non possono essere utilizzati per compromettere il tuo sistema dagli aggressori perché non hanno accesso ad esso.

Una macro ONLYOFFICE è una combinazione della sintassi JavaScript e dei metodi API di ONLYOFFICE Document Builder.

ONLYOFFICE Document Builder è una libreria C++ utilizzata per creare e modificare file Office Open XML e salvare file non OOXML nei formati DOCX, XSLX, PPTX e PDF. Funziona con l'API JavaScript.

Esistono molti metodi API di ONLYOFFICE e probabilmente non ne utilizzerai la maggior parte. Questi sono alcuni esempi pratici:

  • Il metodo SetFillColor è progettato per cambiare il colore di sfondo dell'intervallo di celle corrente nel colore di un oggetto colore creato in precedenza.
  • Il metodo GetValue restituisce il valore dell'intervallo specificato.
  • Il metodo GetSlideByIndex riporta una diapositiva nella sua posizione nella presentazione.
  • E molto altro.

Una descrizione dettagliata di tutti i metodi API di ONLYOFFICE e di cosa fanno può essere trovata nella documentazione ufficiale.

In ONLYOFFICE Docs, le macro possono essere create ed eliminate tramite uno speciale plugin nella barra degli strumenti in alto. Per accedervi, apri la scheda Plugin e fai clic sul pulsante Macro. Vedrai una finestra in cui potrai scrivere codice JavaScript per le tue macro.

Utilizzando i pulsanti corrispondenti, puoi creare nuove macro ed eliminare quelle esistenti. Puoi anche rinominare le macro e persino attivare la funzione di avvio automatico.

Ora che hai capito come funzionano le macro di ONLYOFFICE, scriviamone una. Prima di iniziare, è necessario decidere quale compito verrà svolto con la nostra macro.

Cominciamo con qualcosa di semplice e immaginiamo di dover cambiare il colore di sfondo di una cella nel nostro foglio di lavoro Excel. Questo compito è un gioco da ragazzi ma la macro che creeremo lo renderà molto più semplice.

Per iniziare, vai alla scheda Plugin e fai clic su Macro. Se apri questa finestra per la prima volta, troverai una macro già creata. Tuttavia, non ci sarà alcun codice JavaScript in questa macro. Quello che vedrai è un semplice wrapper di funzioni:

(function()
{
    // ... your code here ...
})();

Rinominare la macro se necessario.

Ora puoi iniziare a scrivere il tuo codice. Dopo aver consultato la documentazione API di ONLYOFFICE Document Builder, che è già stata menzionata nel capitolo precedente, saprai che i seguenti metodi dovrebbero essere usati per la tua macro:

  • Il metodo Api.GetActiveSheet per ottenere il foglio attivo.
  • Il metodo GetRange per impostare l'intervallo richiesto.
  • Il metodo SetFillColor per impostare il colore di sfondo della cella richiesta.
  • L'Api.CreateColorFromRGB per impostare il colore desiderato.

Innanzitutto, devi ottenere il foglio attivo e impostare l'intervallo richiesto digitando i metodi corrispondenti Destinazione cella A2. Inizia a digitare i nomi dei metodi nel wrapper della funzione e vedrai tutti i suggerimenti disponibili, il che è molto comodo.

Quindi, devi impostare il colore di sfondo della cella corrente. Per farlo, usa il metodo SetFillColor. Il metodo Api.CreateColorFromRGB ti permetterà di impostare il colore che preferisci. Il tuo codice dovrebbe essere il seguente:

(function()
{
    // Api.GetActiveSheet().GetRange("A2").SetFillColor(Api.CreateColorFromRGB(0, 0, 210));
})();

Ora è il momento di eseguire la macro e vedere i risultati. Dopo aver fatto clic sul pulsante Esegui, vedrai che la cella A2 è colorata. Puoi giocare con colori diversi modificando il valore nel metodo Api.CreateColorFromRGB.

Se non vuoi imparare le basi della codifica JavaScript per creare macro ONLYOFFICE, puoi sempre utilizzare esempi di macro già pronti dal sito ufficiale e modificarli in base alle tue esigenze.

Come puoi vedere, creare macro in ONLYOFFICE Docs non è così difficile come sembra a prima vista. Ovviamente, devi conoscere i fondamenti della codifica JavaScript per creare macro complesse con dozzine di righe di codice.

Tuttavia, la creazione di macro semplici per le attività di routine quotidiane non richiede che tu sia un guru di JavaScript. Puoi imparare i principi di base mentre provi a creare i tuoi plugin.

È importante sottolineare che la suite per ufficio ONLYOFFICE viene fornita con una documentazione API dettagliata ed esempi pronti all'uso per rendere il processo di creazione delle macro il più semplice possibile.