Ändern Sie die Schriftfamilie und -größe auf jeder Folie mit dem ONLYOFFICE-Makro

11 Oktober 2023Von Vlad

In der heutigen Welt spielen Präsentationen sowohl bei Geschäftstreffen als auch bei akademischen Projekten eine wichtige Rolle und dienen als Instrument, um dem Publikum unsere Vision zu vermitteln. In einem unserer vorherigen Beiträge haben wir ein Makro eingeführt, das auf jeder Folie Formen durch Diagramme ersetzt. Heute gehen wir mit einem neuen Makro noch einen Schritt weiter, um die Schriftfamilie und -größe auf jeder Folie der Präsentation zu ändern.

Change font family and size on every slide with ONLYOFFICE macro

Erstellung eines Makros

Zuerst rufen wir mit der Methode Api.GetPresentation() ein Präsentationsobjekt ab und weisen es der Variablen oPresentation zu:

var oPresentation = Api.GetPresentation();

Anschließend durchläuft die Schleife mithilfe der Variablen slideIndex jede Folie in der Präsentation. Die Bedingung stellt sicher, dass die Schleife fortgesetzt wird, bis alle Folien verarbeitet wurden:

for (var slideIndex = 0; slideIndex < oPresentation.GetSlidesCount(); slideIndex++) {
}

Innerhalb der Schleife rufen wir mit der Methode oPresentation.GetSlideByIndex(slideIndex) eine bestimmte Folie ab und weisen sie der Variablen oSlide zu:

var oSlide = oPresentation.GetSlideByIndex(slideIndex);

Dann rufen wir alle Formen auf der aktuellen Folie oSlide ab und speichern sie in einem Array namens aShape:

var aShape = oSlide.GetAllShapes();

Eine weitere Schleife durchläuft jede Form auf der aktuellen Folie mithilfe der Variable shapeIndex:

for (var shapeIndex = 0; shapeIndex < aShape.length; shapeIndex++) {
}

Innerhalb der Formschleife rufen wir den Dokumentinhalt der aktuellen Form mit Shape[shape Index].GetDoc Content() ab und speichern ihn in der Variablen content:

var content = aShape[shapeIndex].GetDocContent();

Wir prüfen, ob content gültig ist (d. h. nicht null oder undefiniert), bevor wir mit weiteren Vorgängen fortfahren:

  if (content) {
}

Falls es gültig ist, ermitteln wir mit content.GetElementsCount() die Anzahl der Elemente im Inhalt und speichern sie in der Variable count:

var count = content.GetElementsCount();

Die dritte Schleife durchläuft jedes Element im Inhalt mithilfe der Variable elementIndex:

for (var elementIndex = 0; elementIndex < count; elementIndex++) {
}

Innerhalb der Schleife rufen wir das aktuelle Element mit content.GetElement(elementIndex) ab:

var element = content.GetElement(elementIndex);
Wir prüfen, ob element gültig ist, um mögliche Fehler zu vermeiden:
if (element) {
}

Wenn element gültig ist, legen wir die Schriftgröße und die Schriftfamilie fest:

element.SetFontSize(10);
element.SetFontFamily("Comic Sans");

Der gesamte Makrocode:

(function()
{
     oPresentation = Api.GetPresentation();
for (var slideIndex = 0; slideIndex < oPresentation.GetSlidesCount(); slideIndex++) {
    var oSlide = oPresentation.GetSlideByIndex(slideIndex);
    var aShape = oSlide.GetAllShapes();

    for (var shapeIndex = 0; shapeIndex < aShape.length; shapeIndex++) {
        var content = aShape[shapeIndex].GetDocContent();
        // Check if content is valid before proceeding
        if (content) {
            var count = content.GetElementsCount();
            for (var elementIndex = 0; elementIndex < count; elementIndex++) {
                var element = content.GetElement(elementIndex);
                // Check if element is valid before using it
                if (element) {
                    element.SetFontSize(10);
                    element.SetFontFamily("Comic Sans");
                }
            }
        }
    }
}

})();

Wir hoffen, dass dieses Makro eine nützliche Bereicherung für Ihr Arsenal sein wird und Ihren alltäglichen Aufgaben einen Hauch von Effizienz verleiht. Mit ONLYOFFICE-Makros können Sie Ihre Produktivität steigern und Ihren Arbeitsablauf optimieren.

Nutzen Sie beim Erstellen von Makros die Chancen, die Ihnen die ONLYOFFICE-API bietet. Die Flexibilität von ONLYOFFICE-Makros ermöglicht es Ihnen, sie genau an Ihre spezifischen Bedürfnisse anzupassen. Wenn Sie Fragen haben oder Ihre kreativen Ideen mit uns teilen, können Sie sich jederzeit an uns wenden. Wir sind hier für Diskussionen und Zusammenarbeit. Viel Glück!

Erstellen Sie Ihr kostenloses ONLYOFFICE-Konto

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