天天看点

如何为 ONLYOFFICE 文档(Docs)创建宏

宏是一种小型脚本,可用于帮助您轻松应对日常工作并处理不同类型的文档。ONLYOFFICE 宏中使用了 JavaScript 语法与 ONLYOFFICE 文档生成器 ​​API​​ 脚本标注。

ONLYOFFICE 选择在宏中使用 JavaScript 的原因有多个:

  • 跨平台,
  • 便于使用,
  • 安全,因为宏没有访问系统的权限。其只是运行于编辑器窗口中的 JS 代码。
请注意,从版本 7.1 开始,宏对于 window 与 document 对象以及 alert 函数的访问权限就受到了限制,因为我们在宏脚本中应用了“严格模式”。别忘记在使用变量前进行声明,这样宏才能正常工作。

​您可在​​这里​​找到可立即使用的宏,也可自行进行创建。

编写您自己的宏

现在相信您已经了解了宏的工作方式,接下来可以自己尝试编写一个宏。假设我们手头有一张表格,并且需要使其隔行使用不同的背景色(即:奇数行为绿色,偶数行为红色)。表格中共有 200 行、A 至 S 列,如果手动操作的话会花费很多时间。所以,此时使用宏将是最佳的解决方案。

1、打开 ONLYOFFICE 编辑器并新建电子表格。

2、然后打开插件标签页并选择宏。此时将打开宏窗口。

3、点击新建。此时将出现基本函数封装工具,您可在其中输入必要的代码:

(function()
{
    // ... your code goes here ...
})();      

4、然后我们来看看 ONLYOFFICE 文档生成器的 ​​API 文档​​以了解为了完成这项工作我们需要做些什么:

  • 首先,使用 ​​GetActiveSheet​​ 方法获取当前工作表:
var oWorksheet = Api.GetActiveSheet();      
  • 然后创建循环,从首行遍历至末行:
for (var i = 1; i < 200; i += 2) {
}      
  • 设置 2 个变量,分别代表奇数行和偶数行:
var rowOdd = i, rowEven = i + 1;      
  • 现在我们将可对奇数行和偶数行进行访问,并且为其设置合适的样色。使用 ​​CreateColorFromRGB​​ 方法设置颜色。使用 ​​GetRange​​ 方法来获取行内的单元格,然后为奇数行设置颜色:
oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39));      

对于偶数行也可采用相同的操作,只需要颜色不同即可:

oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46));      

下面就让我们来看看完整的脚本代码:

(function()
{
    var oWorksheet = Api.GetActiveSheet();
    for (var i = 1; i < 200; i += 2) {
        var rowOdd = i, rowEven = i + 1;
        oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39));
        oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46));
    }
})();      

将上方的代码粘贴至宏窗口中,然后点击运行。这样用不到 1 秒钟的时间我们就实现了 1-200 行内的交替着色。

如何为 ONLYOFFICE 文档(Docs)创建宏

分配宏

在电子表格编辑器中,您可为图形对象分配宏:

  1. 右键点击图形对象。
  2. 点击分配宏。
  3. 在弹出的窗口中选择宏。您可在相应的字段中输入宏名称。
  4. 点击 OK 按钮。
如何为 ONLYOFFICE 文档(Docs)创建宏

运行宏时,只需点击图形对象即可执行脚本。

ONLYOFFICE 文档免费在线宏课程

近期,我们将开始发布有关 ONLYOFFICE 解决方案的免费视频课程。首个视频课程将关注 ONLYOFFICE 文档中的宏,现已在 YouTube 上提供。

继续阅读