Einführung von benutzerdefinierten Funktionen für ONLYOFFICE-Makros

11 Juli 2024By Vlad

Wir freuen uns, benutzerdefinierte Funktionen in ONLYOFFICE Docs 8.1 einführen zu können. Diese neue Möglichkeit wird Ihre Erfahrungen mit Makros im Tabellenkalkulationseditor von ONLYOFFICE erheblich verbessern.

Introducing custom functions for ONLYOFFICE macros

Über benutzerdefinierte Funktionen

Dies ist eine Funktion, mit der Sie benutzerdefinierte Funktionen zur Berechnung verschiedener Parameter und Formeln einfügen können. Mit ihr können Sie spezifische Funktionen hinzufügen, um bestimmte Berechnungen durchzuführen, die dann in Ihrem Makrocode verwendet werden können.

Hier ist ein Beispiel für eine benutzerdefinierte Funktion, die die Summe zweier Zahlen auf der Grundlage bestimmter Bedingungen berechnet:

Introducing custom functions for ONLYOFFICE macros

Hier sehen Sie, wie wir diese Funktion in unserem Makrocode verwenden:

Introducing custom functions for ONLYOFFICE macros

Und das Endergebnis ist:

Introducing custom functions for ONLYOFFICE macros

Wo zu finden: Tabellenkalkulationseditor > Registerkarte Plugins > Makros > Benutzerdefinierte Funktionen

Weitere Beispiele

Lassen Sie uns weitere Beispiele für benutzerdefinierte Funktionen untersuchen:

Geometrisches Mittel

  • Das geometrische Mittel ist ein Maß für die zentrale Tendenz, das für Datensätze nützlich ist, die Multiplikation beinhalten oder sich über mehrere Größenordnungen erstrecken. Es wird als die N-te Wurzel aus dem Produkt von N Zahlen berechnet:

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

Wir wollen eine benutzerdefinierte Funktion für das geometrische Mittel mit JavaScript implementieren. Wir werden die Methode Math.sqrt verwenden:

(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);
})();

Wie Sie sehen, haben wir die Methode Api.AddCustomFunction verwendet, um die gm-Funktion hinzuzufügen und sie in unserem Makrobereich ausführbar zu machen.

Jetzt werden wir sie in unserem Makrocode aufrufen:

(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=GM(16, 36)");
})();
  • Harmonisches Mittel
    Das harmonische Mittel ist ein Maß für die zentrale Tendenz, das für Datensätze mit Raten oder Verhältnissen nützlich ist. Es ist besonders geeignet, wenn die Datenwerte in Bezug auf eine Einheit definiert sind, wie z. B. Geschwindigkeit (Entfernung pro Zeit) oder Dichte (Masse pro Volumen).

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

Hier ist die Implementierung der benutzerdefinierten Funktion:

(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);
})();

Und die Makroimplementierung:

(function()
{
var oWorksheet = Api.GetActiveSheet();
oWorksheet.GetRange("A1").SetValue("=HM(16, 36)");
})();
  • Root mean square
    Der quadratische Mittelwert ist ein statistisches Maß für die Größe einer veränderlichen Größe. Es ist besonders nützlich in Kontexten, in denen die Werte positiv oder negativ sein können und Sie die Gesamtgröße ohne Rücksicht auf das Vorzeichen messen möchten.

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

Um diese benutzerdefinierte Funktion zu erstellen, verwenden wir erneut die Methode Math.sqrt, allerdings mit anderen Parametern:

(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);
})();

Und wir rufen die Funktion in unserem Makrocode auf:

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

Jetzt wollen wir diese benutzerdefinierten Funktionen im Einsatz sehen!

Wir hoffen, dass diese neu hinzugefügte Funktion zu einem wertvollen Bestandteil Ihres Toolkits wird und Ihre Arbeitsabläufe durch die Möglichkeit, auf Ihre Bedürfnisse zugeschnittene Funktionen zu erstellen, vereinfacht. Unser oberstes Ziel bei ONLYOFFICE ist es, Sie durch die Implementierung innovativer Tools und Funktionen zu Höchstleistungen zu befähigen. Wenn Sie Fragen oder Anregungen haben, wenden Sie sich bitte an uns. Wir freuen uns über Ihre Anregungen und sind offen für Diskussionen und Zusammenarbeit.

Erstellen Sie Ihr kostenloses ONLYOFFICE-Konto

Öffnen und bearbeiten Sie gemeinsam Dokumente, Tabellen, Folien, Formulare und PDF-Dateien online.