Com escriure macros de JavaScript a ONLYOFFICE Docs


Heu de treballar amb documents de Word, fulls de càlcul Excel o presentacions de PowerPoint i heu de repetir tasques complexes una i altra vegada? Per exemple, cal ressaltar els valors duplicats en un full o eliminar formes de les diapositives d'una presentació.

Si aquest és el cas, pot ser un repte per a vostè com a usuari de Linux. Realitzar aquestes tasques manualment no té sentit. Moltes operacions diferents es poden fer fàcilment automàticament amb macros VBA a Microsoft Office. Tanmateix, hi ha un problema greu: no s'executen de manera nativa a les màquines Linux.

Tanmateix, hi ha una solució enginyosa a aquest problema. Podeu escriure i executar macros de JavaScript a ONLYOFFICE Docs per fer operacions monòtones.

Llegiu aquest article per saber com fer-ho.

Taula de continguts

Què és ONLYOFFICE Docs?

ONLYOFFICE Docs és una suite d'oficines de codi obert i autoallotjada dissenyada per crear un entorn col·laboratiu local en un servidor Linux o Windows.

Aporta els avantatges de l'edició i la coautorització de documents en temps real a un gran nombre de solucions per compartir fitxers, plataformes d'aprenentatge electrònic i sistemes de gestió de documents.

Actualment, és compatible amb Moodle, Drupal i altres programaris. La integració és possible mitjançant connectors preparats per utilitzar que estan disponibles a GitHub.

Amb ONLYOFFICE Docs, podeu treballar amb tots els tipus de fitxers d'oficina populars, inclosos documents de text, fulls de càlcul, formularis omplibles, diapositives i PDF.

El format natiu d'ONLYOFFICE Docs és OOXML (DOCX, XLSX, PPTX), de manera que pot substituir fàcilment Microsoft Office en màquines Linux. Altres formats populars, com ODF, són compatibles mitjançant la conversió automàtica a OOXML.

A més de la seva versió autoallotjada, ONLYOFFICE Docs té una versió gratuïta al núvol per a ús personal. A més, hi ha aplicacions gratuïtes per a totes les plataformes d'escriptori i mòbils populars, incloses Windows, macOS, Linux, Android i iOS.

Quan es tracta d'automatització de tasques, ONLYOFFICE Docs no és compatible amb les macros VBA de Microsoft. Utilitza macros de JavaScript que són capaços de fer les mateixes operacions d'una manera molt més segura.

Introducció a les macros per a documents ONLYOFFICE

Una macro és un petit script que facilita el treball amb diferents tipus de documents automatitzant una tasca determinada. En altres paraules, és un fragment de codi de programació que conté un conjunt d'accions que podeu executar tantes vegades com vulgueu.

Per exemple, podeu executar la macro corresponent per ressaltar els duplicats a l'àrea seleccionada del vostre full de càlcul amb diferents colors.

A ONLYOFFICE Docs, té aquest aspecte:

Quina és la utilitat pràctica d'aquesta macro? Quan treballeu amb dades, podeu executar la macro desada en qüestió de segons fent clic al botó corresponent per ressaltar els valors duplicats tantes vegades com necessiteu, cosa que us estalviarà hores de temps.

A ONLYOFFICE Docs, les macros es basen en la sintaxi de JavaScript i els mètodes de l'API de ONLYOFFICE Document Builder. Hi ha algunes raons òbvies per les quals són millors que les macros de VBA:

  • Les macros ONLYOFFICE són multiplataforma: a diferència de Visual Basic, JavaScript és un llenguatge de programació més comú. Per tant, les macros de JavaScript es poden executar fàcilment a les plataformes Windows, Linux i macOS.
  • Les macros ONLYOFFICE són fàcils d'utilitzar; sovint es recomana JavaScript per a principiants i té una comunitat en creixement ràpid. Molta gent tria JavaScript com a primer llenguatge de programació perquè hi ha molts tutorials i guies detallats a Internet.
  • Les macros ONLYOFFICE són segures: el codi JavaScript de les macros ONLYOFFICE s'executa a la mateixa finestra que els editors. Per tant, els atacants no els poden utilitzar per comprometre el vostre sistema perquè no hi tenen accés.

Una macro ONLYOFFICE és una combinació de la sintaxi de JavaScript i els mètodes API de ONLYOFFICE Document Builder.

ONLYOFFICE Document Builder és una biblioteca C++ que s'utilitza per crear i editar fitxers Office Open XML, així com per desar fitxers que no siguin OOXML en formats DOCX, XSLX, PPTX i PDF. Funciona amb l'API JavaScript.

Hi ha molts mètodes de l'API ONLYOFFICE, i és probable que no n'utilitzeu la majoria. Aquests són alguns exemples pràctics:

  • El mètode SetFillColor està dissenyat per canviar el color de fons de l'interval de cel·les actual pel color d'un objecte de color creat prèviament.
  • El mètode GetValue retorna el valor de l'interval especificat.
  • El mètode GetSlideByIndex torna una diapositiva a la seva posició a la presentació.
  • I molt més.

Una descripció detallada de tots els mètodes de l'API ONLYOFFICE i el que fan es pot trobar a la documentació oficial.

A ONLYOFFICE Docs, les macros es poden crear i suprimir mitjançant un connector especial a la barra d'eines superior. Per accedir-hi, obriu la pestanya Connectors i feu clic al botó Macros. Veureu una finestra on podreu escriure codi JavaScript per a les vostres macros.

Mitjançant els botons corresponents, podeu crear noves macros i eliminar les existents. També podeu canviar el nom de les macros i fins i tot activar la funció d'inici automàtic.

Ara que enteneu com funcionen les macros ONLYOFFICE, escrivim-ne una. Abans de començar, cal decidir quina tasca es farà amb la nostra macro.

Comencem amb una cosa senzilla i imaginem que hem de canviar el color de fons d'una cel·la al nostre full de treball Excel. Aquesta tasca és senzilla, però la macro que anem a crear la farà molt més senzilla.

Per començar, aneu a la pestanya Connectors i feu clic a Macros. Si obriu aquesta finestra per primera vegada, hi trobareu una macro ja creada. Tanmateix, no hi haurà codi JavaScript en aquesta macro. El que veureu és un embolcall de funcions simple:

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

Canvieu el nom de la vostra macro si cal.

Ara podeu començar a escriure el vostre codi. Després de consultar la documentació de l'API ONLYOFFICE Document Builder, que ja s'ha esmentat en el capítol anterior, sabràs que s'han d'utilitzar els mètodes següents per a la teva macro:

  • El mètode Api.GetActiveSheet per obtenir el full actiu.
  • El mètode GetRange per establir l'interval requerit.
  • El mètode SetFillColor per definir el color de fons de la cel·la necessària.
  • L'Api.CreateColorFromRGB per definir el color desitjat.

Primer, heu d'obtenir el full actiu i establir l'interval necessari escrivint els mètodes corresponents Anem a la cel·la A2. Comenceu a escriure els noms dels mètodes a l'embolcall de funcions i veureu tots els consells d'eines disponibles, la qual cosa és molt convenient.

Aleshores, heu d'establir el color de fons de la cel·la actual. Per fer-ho, utilitzeu el mètode SetFillColor. El mètode Api.CreateColorFromRGB us permetrà establir el color que us agradi. El vostre codi hauria de ser el següent:

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

Ara és el moment d'executar la macro i veure els resultats. Després de fer clic al botó Executar, veureu que la cel·la A2 té color. Podeu jugar amb diferents colors canviant el valor del mètode Api.CreateColorFromRGB.

Si no voleu aprendre els conceptes bàsics de la codificació de JavaScript per crear macros ONLYOFFICE, sempre podeu utilitzar exemples de macros preparats del lloc web oficial i modificar-los segons les vostres necessitats.

Com podeu veure, crear macros a ONLYOFFICE Docs no és tan difícil com sembla a primera vista. Per descomptat, cal conèixer els fonaments de la codificació JavaScript per fer macros complexes amb desenes de línies de codi.

Tanmateix, la creació de macros senzilles per a les activitats rutinàries del dia a dia no requereix que siguis un guru de JavaScript. Podeu aprendre els principis bàsics mentre intenteu crear els vostres propis connectors.

És important destacar que la suite ofimàtica ONLYOFFICE inclou documentació detallada de l'API i exemples llestos per utilitzar per fer que el procés de creació de macros sigui el més senzill possible.