首页 > 其他分享 >使用 ONLYOFFICE 宏生成和插入词义

使用 ONLYOFFICE 宏生成和插入词义

时间:2023-08-29 21:35:12浏览次数:45  
标签:const 词义 插入 API 文档 result ONLYOFFICE oDocument

要让写的内容更清楚,建议在文章中添加一些词义。使用 ONLYOFFICE 宏,这个可以来自动实现,无需浪费时间了。阅读本文,了解如何创建一个宏,从外部 API 中提取单词定义并将其无缝插入到文档中。

使用 ONLYOFFICE 宏生成和插入词义_VBA

什么是 ONLYOFFICE 宏

如果您是一名资深 Microsoft Excel 用户,那么相信您已对于 VBA 宏非常熟悉了。这些宏是帮助您自动执行日常任务的小型脚本。无论是重构数据,还是在单元格区域中插入多个值。ONLYOFFICE 宏的基础是 JavaScript 语法与文档生成器 API 方法。基于 JavaSript 的宏易于使用,具有跨平台特性且十分安全。这就使得其与 VBA 相比有着显著的优势。

ONLYOFFICE 文档免费在线宏课程

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

本课程分为 4 节,每节时长大约在 5-10 分钟。您将了解宏的工作原理,以及一些实际的例子。为了方便起见,我们还在视频描述中添加了时间戳 – 只需点击一下即可转到您感兴趣的主题。

阅读这篇文章,了解更多。

访问 API

API Ninjas 是一个功能强大的 API 服务,提供各种免费 API,让开发者利用字典、语言翻译等功能增强应用程序。在本教程中,我们将使用提供单词定义的字典 API。开始前,您需要注册 API Ninjas 获取所需的 API 密钥。

构建宏

我们的宏应该获取所选单词的值,并从外部 API 获取其定义。然后,我们可以把词义插入到文档中。

首先,我们初始化必要的变量:

const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const word = oRange.GetText();

在这里,oDocument 变量表示当前文档,oRange 变量表示选定的文本范围,word 变量表示选定单词的值。

接下来,我们使用 AJAX 向字典 API 提出请求。将 “your-api-key“ 替换为您的实际 API 密钥:

success: function(result) {
        console.log(result);
        const text = result.definition;
        // Continue to the next step...
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});

现在,我们向 API 端点发送一个 GET 请求,请求中包含所选单词和您的 API 密钥。在成功回调中,我们需要提取定义属性。

获取词义后,我们将其添加到文档中:

success: function(result) {
        console.log(result);
    const text = result.definition; 
    const oParagraph = Api.CreateParagraph();
    oParagraph.AddText(text);
    oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
    }

在本节中,我们使用 Api.CreateParagraph() 创建新段落,使用 oParagraph.AddText(text) 添加获取的文本,最后使用 oDocument.InsertContent() 将内容插入到 oDocument 中。

整个宏代码如下:

(function()
{
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const word = oRange.GetText();
$.ajax({
    method: 'GET',
    url: 'https://api.api-ninjas.com/v1/dictionary?word=' + word,
    headers: { 'X-Api-Key': 'your-api-key'},
    contentType: 'application/json',
    success: function(result) {
        console.log(result);
    const text = result.definition; 
    const oParagraph = Api.CreateParagraph();
    oParagraph.AddText(text);
    oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});
})();

现在让我们运行宏, 看看视频了解它如何工作的!

希望该宏能够帮您简化文档流程,节省您的时间和精力。使用宏可以充分发挥 ONLYOFFICE 的潜力,提高工作效率。

我们邀请您深深了解 ONLYOFFICE API,并创建您自己的宏。 也欢迎您分享您的想法和建议,期待与您合作。祝探索之路好运!

相关链接

如何将微软 Office 宏转换为 ONLYOFFICE 宏

使用 ONLYOFFICE 宏检索网站详细信息

ONLYOFFICE API 文档

宏示例

GitHub 上的 ONLYOFFICE

标签:const,词义,插入,API,文档,result,ONLYOFFICE,oDocument
From: https://blog.51cto.com/u_15679924/7279974

相关文章

  • 使用 ONLYOFFICE 宏生成和插入词义
    要让写的内容更清楚,建议在文章中添加一些词义。使用ONLYOFFICE宏,这个可以来自动实现,无需浪费时间了。阅读本文,了解如何创建一个宏,从外部API中提取单词定义并将其无缝插入到文档中。什么是ONLYOFFICE宏如果您是一名资深MicrosoftExcel用户,那么相信您已对于VBA宏非常熟悉......
  • Mybatis - useGeneratedKeys 和 keyProperty,获取插入主键自动生成的 Id
    <insertid="insertOrder"parameterType="com.buchstadt.params.PayForData"useGeneratedKeys="true"keyProperty="id">INSERTINTOorders(user_id,total,location,holder_phone,holder_name)VALUES......
  • 插入排序:直接插入排序、折半插入排序、希尔排序的实现
    直接插入排序定义:直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好序的有序表中,从而得到一个新的、记录数量增1的有序表。算法的代码:#include<stdio.h>#include<stdlib.h>voidprint_series(constintseries[],intlen){for(inti=0;......
  • MySq之一条mysql语句来更新(插入)查询结果
    想起之前没问人家自己那213的做法,想起来都想怎么笑(记录之前困惑的问题解决了的)非常的简单要插入teble1表中的id>100的字段name,address 到table2表insertintotable2(name,address)(selectname,addressfromtable1whereid>100)要查询teble1表中的name=阿呜......
  • 数组二分查找:35. 搜索插入位置、34. 在排序数组中查找元素的第一个和最后一个位置
    35. 搜索插入位置1classSolution:2defsearchInsert(self,nums:List[int],target:int)->int:3left,right=0,len(nums)-145whileleft<=right:#左闭右闭6mid=left+(right-left)//27ifnum......
  • 插入排序之希尔排序
    1voidshell_sort()2{3unsignedchari=0,j=0,gap;4unsignedchararr[10]={4,1,3,9,6,2,8,5,0,7};5unsignedcharlen=sizeof(arr);6unsignedchartemp;7chark;8gap=len;9while(gap)10{11gap......
  • 插入排序之直接插入排序
    1voidinsert_sort()2{3inti,j;4unsignedchararray[10]={4,1,3,9,6,2,8,5,0,7};5unsignedcharlen=sizeof(array);67/*遍历所有无序序列*/8for(i=1;i<len;i++)9{10unsignedchartemp=array[i];......
  • 关于onlyoffice完成安装配置后,文档一直加载中的坑
     坑:根据官方文档按顺序安装完erlang,Rabbit,PostgreSQL运行环境后,安装完onlyoffice,配置完成后测试时文档一直提示加载中,无任何其他报错,也没有报错日志,一番排查后初步认定为无法链接到数据库。通过再次阅读官方文档,发现是创建数据库时账号密码和安装时输入不一致导致的。。。调......
  • ConcurrentHashMap为何不能插入null?HashMap为何可以?
    归纳来说就是两个问题:1.ConcurrentHashMap为什么key和value不能为null?2.ConcurrentHashMap能保证复合操作的原子性吗?1.ConcurrentHashMap为什么key和value不能为null?ConcurrentHashMap的key和value不能为null主要是为了避免二义性。null是一个特殊的值,表示......
  • python使用docx向word文档中表格插入图片并固定缩放
    使用python的docx模块对word文档进行编辑时,有时候需要向表格中插入图片,但是插入的图片一般是按照原图片的大小插入的,即使你的word文档一开始就设置好了固定宽高,似乎也是不起作用,这个时候就需要在插入后,用python去调整图片的宽高。示例代码:fromdocximportDocumentfromdocxi......