使用 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++) {
}
在形状循环中,我们使用“aShape[shapeIndex].GetDocContent()”获取当前形状的文档内容,将其存储到变量“content”中:
var content = aShape[shapeIndex].GetDocContent();
我们会检查“content”是否有效(即不为空或未定义),然后再进行下一步操作:
if (content) {
}
如果是有效的,我们会使用“content.GetElementsCount()”获取“content”中元素的数量,并将其存储到“count”变量中:
var count = content.GetElementsCount();
第三个循环使用“elementIndex”变量迭代“content”中的每一个元素:
for (var elementIndex = 0; elementIndex < count; elementIndex++) {
}
在循环内部,我们使用“content.GetElement(elementIndex)”检索当前元素:
var element = content.GetElement(elementIndex);
我们会检查“element”是否有效,以避免出现错误:
if (element) {
}
如果“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 API 提供的无限可能。ONLYOFFICE 宏十分灵活,您根据自己的具体需求对其进行微调。如果您有问题或新创意,欢迎发表评论,或联系我们分享出来。我们期待与您探讨,展开合作。祝您探索之旅好运!
创建免费的 ONLYOFFICE 账户
在线查看并协作编辑文本文档、电子表格、幻灯片、表单和 PDF 文件。