ONLYOFFICEマクロですべてのスライドのフォントファミリーとサイズを変更する方法
現代社会では、ビジネスミーティングでも学術的なプロジェクトでも、プレゼンテーションが重要な役割を担っています。以前の記事で、各スライドの図形をチャートに置き換えるマクロをご紹介しました。今日は、プレゼンテーションの各スライドのフォントファミリーとサイズを変更する新しいマクロをご紹介します。
マクロの構築
まず、Api.GetPresentation()メソッドでプレゼンテーションオブジェクトを取得し、変数oPresentationに代入します:
var oPresentation = Api.GetPresentation();
次に、slideIndex変数を使用して、プレゼンテーションの各スライドを繰り返し処理します。条件は、すべてのスライドが処理されるまでループが継続することを保証します:
for (var slideIndex = 0; slideIndex < oPresentation.GetSlidesCount(); slideIndex++) {
}
ループの中で、oPresentation.GetSlideByIndex(slideIndex)メソッドを使って特定のスライドを取得し、変数oSlideに代入します:
var oSlide = oPresentation.GetSlideByIndex(slideIndex);
次に、現在のスライドoSlide上のすべての図形を取得し、aShapeという配列に格納します:
var aShape = oSlide.GetAllShapes();
別のループは、shapeIndex変数を使用して、現在のスライド上の各シェイプを繰り返し処理します:
for (var shapeIndex = 0; shapeIndex < aShape.length; shapeIndex++) {
}
Shapeループの内部では、aShape[shapeIndex].GetDocContent()を使用して現在のShapeのドキュメントコンテンツを取得し、変数contentに格納します:
var content = aShape[shapeIndex].GetDocContent();
さらに処理を進める前に、コンテンツが有効かどうか(つまり、nullやundefinedでないかどうか)をチェックします:
if (content) {
}
有効な場合は、content.GetElementsCount()を使用してコンテンツ内の要素数を取得し、count変数に格納します:
var count = content.GetElementsCount();
3番目のループは、elementIndex変数を使用してコンテンツ内の各要素を繰り返し処理します:
for (var elementIndex = 0; elementIndex < count; elementIndex++) {
}
ループ内では、content.GetElement(elementIndex) を使用して現在の要素を取得します:
var element = content.GetElement(elementIndex);
エラーを避けるために、要素が有効かどうかをチェックします:
if (element) {
}
要素が有効であれば、フォントサイズとフォントファミリーを設定します:
element.SetFontSize(10);
element.SetFontFamily("Comic Sans");
マクロ全体は以下の通りになります:
(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");
}
}
}
}
}
})();
マクロを実行し、どのように機能するか見てみましょう!
ONLYOFFICEマクロは、あなたの日常業務を効率化し、あなたの便利な武器となることを願っています。ONLYOFFICEのマクロは、あなたの生産性を高め、ワークフローを効率化します。
マクロを作成する際には、ONLYOFFICE APIが提供するチャンスをつかんでください。ONLYOFFICEマクロの柔軟性により、特定のニーズに合わせてマクロを微調整することができます。ご質問やクリエイティブなアイディアがありましたら、お気軽にご連絡ください。私たちは議論とコラボレーションのためにここにいます。あなたの説明の努力に幸あれ!
ONLYOFFICEの無料アカウントを登録する
オンラインでドキュメント、スプレッドシート、スライド、フォーム、PDFファイルの閲覧、編集、共同作業