15 nützliche JavaScript-Makros für 2025

27 Dezember 2023Von 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 Tools zur Automatisierung von Aufgaben. ONLYOFFICE verwendet JavaScript zum Erstellen von Makros für die Bearbeitung von Dokumenten, Tabellen, Präsentationen und PDF. Mit diesen JavaScript-Makros können Benutzer Aufgaben automatisieren, die Dokumentfunktionalität verbessern und ONLYOFFICE-Anwendungen entsprechend ihren Anforderungen anpassen.

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 Skalieren von Bildern in Präsentationen
    Die Handhabung von Bildern in Präsentationen erfordert oft eine zeitaufwändige manuelle Größenanpassung, insbesondere bei einer großen Anzahl von Bildern. Dieses JavaScript-Makro passt die Größe aller Bilder in Ihrer Präsentation an.
  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 ONLYOFFICE-Makros können Sie diesen Vorgang 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 zum Ersetzen von Wörtern im Dokument
    Das Bearbeiten von Dokumenten ist ein wesentlicher Teil unserer Routine und wir suchen ständig nach Tools, um sich wiederholende Aktionen zu optimieren. Dieses JavaScript-Makro ersetzt Wörter im Dokument innerhalb einer Auswahl.
  10. Ein JavaScript-Makro zum Erstellen einer Tabelle aus der nummerierten Liste
    Beim Verwalten von Dokumenten kann die Umwandlung nummerierter Listen in Tabellen die Lesbarkeit und Präsentation erheblich verbessern. Dieses JavaScript-Makro wandelt nummerierte Listen in strukturierte Tabellen um.
  11. Ein JavaScript-Makro zum Kopieren von Spalten in separate Tabellen
    Mithilfe von ONLYOFFICE-Makros können Sie komplexe Aufgaben rationalisieren und stundenlange Arbeit auf einen einzigen Klick reduzieren. Dieses JavaScript-Makro kopiert bestimmte Spalten in bestimmte Tabellenblätter.
  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.

Erstellen Sie Ihr kostenloses ONLYOFFICE-Konto

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