个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

使用 ONLYOFFICE 宏更改每张幻灯片的字体系列和大小

原创
软件开发
来源:ONLYOFFICE
PPT
数据可视化
Microsoft
office
文档处理
文件处理
文档组建
文档管理
文件格式
文档格式
2024-02-01
PPT
数据可视化
Microsoft
office
文档处理
文件处理
文档组建
文档管理
文件格式
文档格式

在当今世界,演示文稿在商务会议和学术项目中都扮演着至关重要的角色,是向听众阐述我们愿景的工具。在我们之前的一篇文章中,我们介绍了一个宏,它可以用图表替换每张幻灯片上的形状。今天,我们将更上一层楼,使用一个新的宏来修改演示文稿中每张幻灯片的字体家族和大小。



构建宏

首先,我们使用 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();


在进行进一步操作前,我们会检查内容是否有效(即不是空值或未定义):


  if (content) {

}


如果是有效的,我们将使用 content.GetElementsCount() 获得内容中元素的数量,并将其存储到 count 变量中:


var count = content.GetElementsCount();


第三个循环使用 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()

{

    var 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宏的灵活性使您能够根据自己的具体需求对其进行微调。如有任何问题,请随时联系我们,或与我们分享您的创意想法。我们欢迎讨论和合作。祝您在解释工作中一切顺利!


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508