Introduciamo le funzioni personalizzate per le macro di ONLYOFFICE

10 luglio 2024By Alice

Siamo entusiasti di introdurre le funzioni personalizzate in ONLYOFFICE Docs 8.1. Questa nuova possibilità migliorerà notevolmente la tua esperienza con le macro nell’editor di fogli di calcolo di ONLYOFFICE.

Introducing custom functions for ONLYOFFICE macros

A proposito delle funzioni personalizzate

È uno strumento che consente di inserire funzioni personalizzate per il calcolo di vari parametri e formule. Ti permette di aggiungere funzioni specifiche per eseguire calcoli particolari, che possono poi essere utilizzati nel codice macro.

Ecco un esempio di funzione personalizzata che calcola la somma di due numeri in base a condizioni specifiche:

Introducing custom functions for ONLYOFFICE macros

Ecco come utilizzare questa funzione nel nostro codice macro:

Introducing custom functions for ONLYOFFICE macros

E il risultato finale è:

Introducing custom functions for ONLYOFFICE macros

Dove si trova: Editor di fogli di calcolo > Scheda Plugin > Macro > Funzioni personalizzate

Altri esempi

Esaminiamo altri esempi di funzioni personalizzate:

  • Media geometrica
    La media geometrica è una misura della tendenza centrale utile per gli insiemi di dati che comportano moltiplicazioni o che coprono diversi ordini di grandezza. Si calcola come radice ennesima del prodotto di N numeri:

GM=(∏i=1n​xi​)n1​

Implementiamo una funzione personalizzata per la media geometrica utilizzando JavaScript. Utilizzeremo il metodo Math.sqrt:

(function()
{
   /**
     * Function that calculates the geometric mean of two numbers
     * @customfunction

     * @param {number} num1 The first number.
     * @param {number} num2 The second number.
     * @returns {number} The geometric mean of the two numbers.
    */
    function gm(num1, num2) {
        return Math.sqrt(num1 * num2);
    }
    Api.AddCustomFunction(gm);
})();

Come puoi vedere, abbiamo usato il metodo Api.AddCustomFunction per aggiungere la funzione gm renderla eseguibile nel nostro ambito macro.

Ora la invocheremo nel nostro codice macro:

(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=GM(16, 36)");
})();
  • Media armonica
    La media armonica è una misura di tendenza centrale utile per le serie di dati che coinvolgono tassi o rapporti. È particolarmente appropriata quando i valori dei dati sono definiti in relazione a qualche unità, come la velocità (distanza per tempo) o la densità (massa per volume).

H=∑i=1n​xi​1​n​

Ecco l’implementazione della funzione personalizzata:

(function()
{
    /**
     * Function that calculates the harmonic mean of two numbers
     * @customfunction

     * @param {number} num1 The first number.
     * @param {number} num2 The second number.
     * @returns {number} The harmonic mean of the two numbers.
    */
    function hm(num1, num2) {
        return 2 / ((1 / num1) + (1 / num2));
    }
    Api.AddCustomFunction(hm);
})();

E l’implementazione della macro:

(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=HM(16, 36)");
})();
  • Radice quadrata media
    La radice quadrata media (RMS) è una misura statistica della grandezza di una quantità variabile. È particolarmente utile in contesti in cui i valori possono essere positivi o negativi e si vuole misurare la grandezza complessiva senza tener conto del segno.

RMS=n1​∑i=1n​xi2​​

Per costruire questa funzione personalizzata utilizzeremo nuovamente il metodo Math.sqrt, ma con parametri diversi:

(function()
{
    /**
     * Function that calculates the root mean square (RMS) of two numbers
     * @customfunction

     * @param {number} num1 The first number.
     * @param {number} num2 The second number.
     * @returns {number} The root mean square (RMS) of the two numbers.
    */
    function rms(num1, num2) {
        return Math.sqrt((num1 ** 2 + num2 ** 2) / 2);
    }
    Api.AddCustomFunction(rms);
})();

E ora invochiamo la funzione nel nostro codice macro:

(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=RMS(5, 8)");
})();

Adesso diamo un’occhiata alle funzioni personalizzate in azione!

Ci auguriamo che questa nuova funzione aggiunta diventi una risorsa preziosa nel tuo kit di strumenti, semplificando il tuo flusso di lavoro con la possibilità di creare funzioni personalizzate su misura per le tue esigenze. In ONLYOFFICE, il nostro obiettivo primario è quello di consentirti di eccellere implementando strumenti e funzionalità innovative. Se hai domande o suggerimenti, non esitare a contattarci. Il tuo contributo è molto apprezzato e siamo aperti alla discussione e alla collaborazione.

Crea il tuo account ONLYOFFICE gratuito

Visualizza, modifica e collabora su documenti, fogli, diapositive, moduli e file PDF online.