15 nützliche JavaScript-Makros für 2024

27 Dezember 2023By Vlad

Während Microsoft Office über VBA-basierte Makros verfügt, geht ONLYOFFICE mit JavaScript-basierten Makros einen Schritt weiter und bietet mehr Flexibilität. In diesem Blogbeitrag stellen wir einige der zahlreichen ONLYOFFICE-Makros vor, die eine überzeugende Alternative zu den herkömmlichen VBA-basierten Makros darstellen.

15 useful JavaScript macros to try in 2024

Was ist ein JavaScript-Makro?

Makros sind leistungsstarke Werkzeuge zur Automatisierung von Aufgaben. ONLYOFFICE verwendet JavaScript zur Erstellung von Makros für die Bearbeitung von Dokumenten, Tabellenkalkulationen, Präsentationen und OFORM. Diese JavaScript-Makros ermöglichen es den Benutzern, Aufgaben zu automatisieren, die Funktionalität von Dokumenten zu verbessern und ONLYOFFICE-Anwendungen an ihre Bedürfnisse anzupassen.

Warum brauchen Sie vielleicht eine Alternative zu VBA-Makros?

Mit der Möglichkeit, benutzerdefinierte JavaScript-Makros zu schreiben, können Sie Automatisierung, Interaktivität und nahtlose Integration mit externen Systemen erreichen:

  • Automatisierung: Mit JavaScript-Makros können Benutzer Aufgaben wie Formatierung, Datenmanipulation und Berechnungen in Dokumenten automatisieren.
  • Interaktivität: Makros können Dokumente interaktiver machen, indem sie auf Benutzeraktionen oder Ereignisse reagieren.
  • Anpassung: Benutzer können das Verhalten von ONLYOFFICE-Anwendungen an ihre spezifischen Bedürfnisse anpassen.
  • Integration: JavaScript-Makros ermöglichen die Integration mit externen Systemen und Diensten und damit den Datenaustausch und die Kommunikation zwischen ONLYOFFICE und anderen Plattformen.

Da die ONLYOFFICE-Makros JavaScript verwenden, ist es nicht nur wegen seiner Flexibilität eine äußerst beliebte Sprache mit einer lebendigen Gemeinschaft. Es gibt eine Fülle von Tutorials, die umfassende Anleitungen für die Bewältigung verschiedener Aufgaben mit JavaScript bieten. Darüber hinaus bietet unsere ausführliche Dokumentation klare Erläuterungen zu den Methoden, die Sie in Ihren JavaScript-Makros verwenden können.

Vergleich von Excel VBA-Makros mit ONLYOFFICE JavaScript-Alternativen

Duplikate aus der Auswahl hervorheben

VBA Excel-Makro:

Sub HighlightDuplicateValues()
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 36
End If
Next myCell
End Sub

Im Gegensatz zu VBA bietet unsere Alternative erweiterte Funktionen, indem sie doppelte Werte mit eindeutigen Farben hervorhebt:

(function () 
{
    // Background color of cells with non-repeating values
    var whiteFill = Api.CreateColorFromRGB(255, 255, 255);
    // The current index of the color range
    var uniqueColorIndex = 0;
    // Color range to highlight duplicate values
    var uniqueColors = [Api.CreateColorFromRGB(255, 255, 0),
        Api.CreateColorFromRGB(204, 204, 255),
        Api.CreateColorFromRGB(0, 255, 0),
        Api.CreateColorFromRGB(0, 128, 128),
        Api.CreateColorFromRGB(192, 192, 192),
        Api.CreateColorFromRGB(255, 204, 0)];
    // Function to get color for duplicates
    function getColor() {
        // If you have chosen all the unique colors, then let's go from the beginning
        if (uniqueColorIndex === uniqueColors.length) {
            uniqueColorIndex = 0;
        }
        return uniqueColors[uniqueColorIndex++];
    }
    // Getting an active sheet
    var activeSheet = Api.ActiveSheet;
    // Getting selection on the active sheet
    var selection = activeSheet.Selection;
    // Map of values in cells with the duplicates number
    var mapValues = {};
    // All cells range
    var arrRanges = [];
    // Going through the selection
    selection.ForEach(function (range) {
        // Getting value from cell
        var value = range.GetValue();
        if (!mapValues.hasOwnProperty(value)) {
            mapValues[value] = 0;
        }
        mapValues[value] += 1;
        arrRanges.push(range);
    });
    var value;
    var mapColors = {};
    // We go through all the cells of the selection and setting the highlighting if this value is repeated more than 1 time
    for (var i = 0; i < arrRanges.length; ++i) {
        value = arrRanges[i].GetValue();
        if (mapValues[value] > 1) {
            if (!mapColors.hasOwnProperty(value)) {
                mapColors[value] = getColor();
            }
            arrRanges[i].SetFillColor(mapColors[value]);
        } else {
            arrRanges[i].SetFillColor(whiteFill);
        }
    }
})();

(no title)

Alle Zeilen und Spalten wieder einblenden

Dieses VBA-Skript blendet alle Zeilen und Spalten des Arbeitsblatts ein:

Sub UnhideRowsColumns()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub

Dasselbe kann mit dem JavaScript-Makro gemacht werden:

(function()
{
    var activeSheet = Api.ActiveSheet;
    var indexRowMax = 1048576;
    var n = 1;
    for (let i = 0; i < indexRowMax; i++) {
        activeSheet.GetRows(n).SetHidden(false);
        n++;
    }
    var newRange = activeSheet.GetRange("A1");
    newRange.SetValue("All the rows and columns are unhidden now");
})();

(no title)

Sie können auch alle Zeilen und Spalten ausblenden, indem Sie in diesem Makro den Parameter SetHidden auf true setzen:

(function()
{
    var activeSheet = Api.ActiveSheet;
    var indexRowMax = 1048576;
    var n = 1;
    for (let i = 0; i < indexRowMax; i++) {
        activeSheet.GetRows(n).SetHidden(true);
        n++;
    }
    var newRange = activeSheet.GetRange("A1");
    newRange.SetValue("All the rows and columns are hidden now");
})();

Wenn Sie erweiterte Funktionen benötigen, haben wir in einem anderen Blogbeitrag ein Makro beschrieben, mit dem Sie bestimmte Zeilen und Spalten ein- und ausblenden können.

Hervorheben von Größer-als-Werten

Hier ist eine VBA-Version, die “größer als”-Werte hervorhebt:

Sub HighlightGreaterThanValues()
Dim i As Integer
i = InputBox("Enter Greater Than Value", "Enter Value")
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, _
Operator:=xlGreater, Formula1:=i
Selection.FormatConditions(Selection.FormatConditions.Count).S
tFirstPriority
With Selection.FormatConditions(1)
.Font.Color = RGB(0, 0, 0)
.Interior.Color = RGB(31, 218, 154)
End With
End Sub

Die gleiche Aufgabe kann mit einem ONLYOFFICE-JavaScript-Makro bewältigt werden, sogar mit weniger Codezeilen:

(function () 
{
    var activeSheet = Api.ActiveSheet;
    var selection = activeSheet.Selection;
    selection.ForEach(function (range) {
        var value = range.GetValue();
        if (value > 5) {
            range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
        }
    });    
})();

(no title)

Trotz der geringeren Anzahl von Codezeilen bietet unsere Alternative eine größere Vielseitigkeit. Zum Beispiel können wir die Bedingung der if-Anweisung ändern.

  • Unterhalb der Werte hervorheben:
(function () 
{
    var activeSheet = Api.ActiveSheet;
    var selection = activeSheet.Selection;
    selection.ForEach(function (range) {
        var value = range.GetValue();
        if (value < 5) {
            range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
        }
    });
  • Negative Zahlen hervorheben:
(function () 
{
    var activeSheet = Api.ActiveSheet;
    var selection = activeSheet.Selection;
    selection.ForEach(function (range) {
        var value = range.GetValue();
        if (value < 0) {
            range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
        }
    });
})();
  • Zellen mit bestimmtem Text hervorheben:
(function () 
{
    var activeSheet = Api.ActiveSheet;
    var selection = activeSheet.Selection;
    selection.ForEach(function (range) {
        var value = range.GetValue();
        if (value == 'text') {
            range.SetFillColor(Api.CreateColorFromRGB(255, 255, 0));
        }
    });
 })();

Weitere nützliche JavaScript-Makros

  1. Ein JavaScript-Makro zum Hinzufügen von Indizes zu einer Auswahl in ONLYOFFICE-Arbeitsblättern
    Manchmal reicht die Standard-Indexierung einfach nicht aus. Hier kommt unser zeitsparendes JavaScript-Makro ins Spiel. Es indexiert alle Zeilen in Ihrer Auswahl und vereinfacht Ihren Arbeitsablauf in der Tabellenkalkulation.
  2. Ein JavaScript-Makro zum Kopieren von Tabellenkalkulationen
    Die Bearbeitung von Tabellenkalkulationen kann schwierig sein, vor allem, wenn mehrere Tabellenkalkulationen mit ähnlichen Daten bearbeitet werden. Um diesen Prozess zu erleichtern, erstellen wir ein JavaScript-Makro zum Kopieren von Daten von einem Arbeitsblatt in ein anderes, das Ihnen hilft, große Arbeitsblätter einfach zu bearbeiten.
  3. Ein JavaScript-Makro zum Einfügen mehrerer Baidu-Suchergebnisse in eine Tabellenkalkulation
    Das Baidu-Makro ist ein vielseitiges Werkzeug zur Steigerung der Effizienz bei der Verwaltung einzelner und mehrerer Suchanfragen. Unabhängig von Ihrem Erfahrungsstand ist es durch sein benutzerfreundliches Design und seine Anpassungsfähigkeit eine nützliche Ergänzung Ihres Toolkits.
  4. Ein JavaScript-Makro zum Importieren von Hyperlinks in eine Tabellenkalkulation
    Hyperlinks können die Ästhetik und Funktionalität Ihrer Tabellenkalkulationen erheblich verbessern und den Zugriff auf wichtige Ressourcen innerhalb Ihrer Dokumente erleichtern. Dieses JavaScript-Makro importiert Hyperlinks, indem es Linkdaten aus einer anderen Tabellenkalkulation extrahiert.
  5. Ein JavaScript-Makro zum Auffinden von Firmenlogos 
    Angesichts der vielen Logos, die es gibt, kann das Auffinden von Logo-Referenzen heutzutage ein wenig schwierig sein und zu Verwirrung führen. Mit. Mit dem JavaScript-Makro können Sie diesen Prozess jedoch automatisieren. Dieses JavaScript-Makro kann gleichzeitig mehrere Logos von einer externen API abrufen und in Ihre Tabellenkalkulation einfügen.
  6. Ein JavaScript-Makro zur Erzeugung personalisierter geschlechtsspezifischer Begrüßungen
    Die richtige Anrede ist in der Kommunikation von entscheidender Bedeutung, denn sie zeugt von Respekt, Offenheit und Professionalität. Dieses JavaScript-Makro nutzt die API von Genderize.io, um personalisierte Begrüßungen zu erzeugen.
  7. Ein JavaScript-Makro zum Verfolgen von Bestellungen auf Shopify
    In der heutigen Zeit ist E-Commerce ein wertvolles Instrument, um geografische Barrieren zu überwinden und einen konstanten Einkommensstrom zu ermöglichen. Daher ist die Verwaltung und Verfolgung von Bestellinformationen ein wesentlicher Bestandteil einer erfolgreichen Geschäftsstrategie. Dieses JavaScript-Makro ruft Bestelldaten von Shopify ab und fügt sie in eine Tabellenkalkulation ein
  8. Ein JavaScript-Makro zum Importieren von CSV- und TXT-Daten in Ihre Tabellenkalkulation
    Die Speicherung von Tabellendaten im CSV-Format ist in vielerlei Hinsicht sehr praktisch, weshalb diese Art von Dateien sehr beliebt ist. ONLYOFFICE Docs ermöglicht den Import von lokalen CSV- und TXT-Dateien. Dieses JavaScript-Makro hilft Ihnen beim Import von entfernten CSV- und TXT-Dateien.
  9. Ein JavaScript-Makro zur Überwachung von Luftqualitätsdaten
    ONLYOFFICE-Makros machen unsere Arbeit mit Dokumenten leichter. Sie helfen uns, unsere täglichen Routineaufgaben zu automatisieren und mit großen Datenmengen zu arbeiten. Dieses JavaScript-Makro ermöglicht es Ihnen, die aktuellen Luftqualitätsdaten in Echtzeit anzuzeigen.
  10. Ein JavaScript-Makro zum Auffüllen von Zellen mit OpenAI-Daten
    Die KI-Technologie hat erhebliche Fortschritte gemacht und ist zu einem wertvollen Werkzeug geworden, das unsere Arbeitsabläufe automatisieren kann. Dieses JavaScript-Makro füllt eine Tabellenkalkulation mit Daten, die von OpenAI stammen.
  11. Ein JavaScript-Makro zur Analyse von Tabellenkalkulationsdaten
    Obwohl ChatGPT 4 jetzt erweiterte Funktionen bietet, bevorzugen einige Benutzer immer noch ChatGPT 3.5 wegen der niedrigeren Token-Kosten. Allerdings fehlt ChatGPT 3.5 die Möglichkeit, Dateien hochzuladen, was die Benutzer daran hindert, Datenblätter zu analysieren. Dieses JavaScript-Makro überwindet diese Einschränkung und ermöglicht Ihnen die Analyse von Tabellenkalkulationen.
  12. Ein JavaScript-Makro zum Entfernen von Duplikaten in der Auswahl
    Dieses JavaScript-Makro entfernt Duplikate aus der Auswahl der Tabellenkalkulation. Es hilft Ihnen, doppelte Einträge loszuwerden und macht Ihre Daten sauber und genau mit einer einfachen und effizienten Lösung, die Ihre gesamte Tabellenkalkulation Erfahrung verbessert.

ONLYOFFICE-Makros sind flexible und leistungsstarke Tools, die die Funktionalität von VBA-Makros nicht nur imitieren, sondern sogar übertreffen können.

Wir ermutigen auch jeden, unsere ONLYOFFICE API zu nutzen und eigene faszinierende Makros zu erstellen. Wenn Sie Fragen oder Ideen haben, teilen Sie uns diese mit. Wir sind offen für Diskussionen und Zusammenarbeit.