如何在 ONLYOFFICE 文档中编写 JavaScript 宏

言鼎科技 2023-07-10 557

您是否必须处理 Word 文档、Excel 电子表格或 PowerPoint 演示文稿,并且必须一遍又一遍地重复复杂的任务?例如,您需要在电子表格中标记重复值或从演示文稿的幻灯片中删除属性。


如果是这样,对于 Linux 用户来说可能会很困难。手动完成这些工作是没有意义的。使用 Microsoft Office 中的 VBA 宏可以轻松实现许多不同任务的自动化。然而,有一个很大的缺点——它们通常不能在 Linux 机器上运行。


但这个问题有一个巧妙的解决方案。您可以编写 JavaScript 宏并在 ONLYOFFICE Docs 中运行它们以创建异步任务。


阅读本文以了解具体方法。

目录

什么是 ONLYOFFICE 文档?

ONLYOFFICE Docs 是一款开放式自托管办公套件,旨在在 Linux 或 Windows 服务器上创建本地协作环境。



它为各种文件共享解决方案、电子学习平台和文档管理系统带来了实时编辑和同步文档的优势。



目前,它可与 Moodle、Drupal 和其他软件配合使用。可以通过 GitHub 上提供的现成链接进行集成。


借助 ONLYOFFICE Docs,您可以处理所有流行的 Office 文件类型,包括文本文档、电子表格、可填写电子表格、幻灯片和 PDF。


ONLYOFFICE Docs 的默认格式是 OOXML(DOCX、XLSX、PPTX),因此它可以轻松替换 Linux 计算机上的 Microsoft Office。其他流行格式(例如 ODF)也支持自动转换为 OOXML。


除了个性化版本外,ONLYOFFICE Docs 还有供个人使用的免费云版本。还有适用于所有流行桌面和移动平台的免费应用程序,包括 Windows、macOS、Linux、Android 和 iOS。


在自动化方面,ONLYOFFICE Docs 与 Microsoft 的 VBA 宏不兼容。它使用 JavaScript 宏,能够以更安全的方式执行相同的功能。


ONLYOFFICE 文档宏入门

宏是一个小脚本,可以通过自动执行任务来轻松处理不同类型的文档。换句话说,它是一段程序代码,包含一组您可以随意执行的操作。


例如,您可以运行相应的宏,以使用不同的颜色突出显示表单选定区域中的重复项。


在 ONLYOFFICE 文档中,它看起来像这样:



这个宏有什么实用价值呢?处理数据时,您可以通过按相应按钮根据需要多次标记重复值,在几秒钟内执行保存的宏,从而节省时间。



在 ONLYOFFICE Docs 中,宏基于 JavaScript 语法和 ONLYOFFICE Document Builder API 方法。它们比 VBA 宏更好有一些明显的原因:


ONLYOFFICE 宏是跨平台的 - 与 Visual Basic 不同,JavaScript 是最常见的编程语言。因此,JavaScript 宏可以轻松地在 Windows、Linux 和 macOS 平台上运行。

ONLYOFFICE 宏易于使用 - JavaScript 通常被推荐给初学者,并且拥有快速增长的社区。许多人选择 JavaScript 作为他们的主要编程语言,因为网上有许多详细的教程和说明。

ONLYOFFICE 宏是安全的 – ONLYOFFICE 宏的 JavaScript 代码与编辑器在同一窗口中运行。因此,攻击者无法利用它们来破坏您的应用程序,因为他们看不到它。

ONLYOFFICE 宏是 ONLYOFFICE 文档生成器中包含的一组 JavaScript 语法和 API 方法。


ONLYOFFICE Document Builder 是一个 C++ 库,用于创建和编辑 Office Open XML 文件以及以 DOCX、XSLX、PPTX 和 PDF 格式保存非 OOXML 文件。它与 JavaScript API 一起使用。


ONLYOFFICE API 方法有很多,其中大部分您可能不会使用。以下是一些很好的例子:


SetFillColor方法旨在将当前单元格区域的背景颜色更改为前一个颜色对象的颜色。

GetValue方法返回指定范围的值。

GetSlideByIndex方法将幻灯片返回到其在显示中的位置。

还有许多其他人。

所有 ONLYOFFICE API 方法及其功能的详细说明都可以在官方文档中找到。


使用ONLYOFFICE Docs,可以通过工具栏顶部的特殊插件创建和删除宏。要访问它,请打开“插件”选项卡并单击“宏”按钮。您将看到一个窗口,您可以在其中为宏编写 JavaScript 代码。


使用适当的按钮,您可以创建新的宏并删除现有的宏。它们还允许您重命名宏,甚至启用自动启动功能。



现在您已经了解了 ONLYOFFICE 宏的工作原理,让我们来编写一个宏。在开始之前,我们需要决定我们将用宏来做什么工作。



让我们从简单的事情开始,假设我们需要更改 Excel 工作簿中单元格的背景颜色。这项任务是小菜一碟,但我们即将创建的宏会让它变得更容易。


首先,转到“插件”选项卡并单击“宏”。当您第一次打开此窗口时,您将看到一个已经创建的宏。但是,该宏不会包含任何 JavaScript 代码。您得到的是一个简单的函数包装器:


(功能()

{

    // ...你的代码在这里

})();

如有必要,重命名您的宏。



现在您可以开始编写代码了。查看上一章中已介绍的 ONLYOFFICE Document Builder API 文档后,您将知道应该对宏使用以下方法:


用于获取活动工作表的Api.GetActiveSheet方法。

GetRange方法设置所需的范围。

SetFillColor方法设置所需单元格的背景颜色。

Api.CreateColorFromRGB设置所需的颜色。

首先,您需要获取活动表单并通过输入适当的方法设置所需的长度让我们定位单元格 A2。开始在工作表中键入方法名称,您将看到所有可用的工具提示,这非常方便。



然后,您需要设置当前单元格的背景颜色。为此,请使用SetFillColor方法。Api.CreateColorFromRGB方法将允许您设置所需的颜色。您的代码应如下所示:


(功能()

{

    // Api.GetActiveSheet().GetRange("A2").SetFillColor(Api.CreateColorFromRGB(0, 0, 210));

})();


现在是时候运行宏并查看结果了。单击“运行”按钮后,您将看到单元格 A2 已着色。您可以通过更改Api.CreateColorFromRGB方法中的值来使用不同的颜色。



如果您不想学习 JavaScript 编码基础知识来创建 ONLYOFFICE 宏,您可以随时使用官方网站上现成的宏示例,并根据您的需求进行自定义。


正如您所看到的,在 ONLYOFFICE Docs 中创建宏并不像乍一看那么困难。当然,您需要了解 JavaScript 编码的基础知识,才能创建包含大量代码行的复杂宏。


然而,为日常任务创建简单的宏并不要求您成为 JavaScript 专家。您可以在尝试创建自己的插件时学习基本原理。


重要的是,ONLYOFFICE办公套件附带详细的API文档和用户友好的示例,使创建宏的过程尽可能简单。


The End