Ricerca nel sito web

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, devi 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.

Cos'è OnlyOffice Docs?

LYONOFFICE 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 file, piattaforme di e-learning e sistemi di gestione dei documenti.

Attualmente è compatibile con Nextcloud, ownCloud, Seafile, Plone, Confluence, Alfresco, Redmine, WordPress, Chamilo, 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 più diffusi di file Office, inclusi documenti di testo, fogli di calcolo, moduli compilabili, diapositive e PDF.

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

Oltre alla versione self-hosted, ONLYOFFICE Docs dispone di 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.

Iniziare con le 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 lavori con i dati, puoi eseguire la macro salvata in pochi secondi facendo clic sul pulsante corrispondente per evidenziare i valori duplicati tutte le volte che desideri, risparmiando ore di tempo.

Principali motivi per cui le macro di OnlyOffice sono utili

In ONLYOFFICE Docs, le macro si basano 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é su Internet sono disponibili numerosi tutorial e guide dettagliate.
  • Le macro di ONLYOFFICE sono sicure – Il codice JavaScript delle macro diLYOFFICE 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.

Come funzionano le macro di OnlyOffice

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, nonché per salvare file non OOXML nei formati DOCX, XSLX, PPTX e PDF. Funziona con l'API JavaScript.

Esistono molti metodi ONLYOFFICE API 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 con il 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 altro ancora.

Una descrizione dettagliata di tutti i metodi ONLYOFFICE API 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 il codice JavaScript per le tue macro.

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

Come scrivere una macro di OnlyOffice

Ora che hai capito come funzionano le macro 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 lì una macro già creata. Tuttavia, non sarà presente alcun codice JavaScript in questa macro. Quello che vedrai è un semplice wrapper di funzioni:

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

Rinomina la macro se necessario.

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

  • 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 Scegliamo come target la cella A2. Inizia a digitare i nomi dei metodi nel wrapper della funzione e vedrai tutti i suggerimenti disponibili, il che è molto comodo.

Quindi, è necessario impostare il colore di sfondo della cella corrente. Per fare ciò, utilizza 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 .

Conclusione

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

Tuttavia, la creazione di semplici macro per le attività di routine quotidiane non richiede che tu sia un guru di JavaScript. Puoi apprendere 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.