问题标签 [word-web-addins]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

ms-word - `body.insertHtml` 无法正确处理列表项

预期行为

我正在尝试运行此代码:

期待:

预期的

当前行为

不知何故,API 没有检测到最后一个列表项。

漏洞

重现的步骤,或活生生的例子

链接到实时示例:ScirptLab

语境

我正在尝试以编程方式在 Word 中呈现无序列表。

你的环境

  • 平台【PC桌面、Mac、iOS、Office Online】:PC桌面
  • 主机【Excel、Word、PowerPoint等】:Word
  • 办公版本号:18.2005.1191.0
  • 操作系统:Windows 10 Pro 1903
0 投票
0 回答
223 浏览

javascript - Word Web-Addin:getSliceAsync() 只返回第一片数据

我正在开发一个office 365 word web 插件,其中我需要将当前打开的文档上传到我的服务器。我正在尝试使用以下代码获取文件数据。

getSliceAsync()方法只返回第一片数据。在调试时它给出“插件错误:抱歉,我们不得不重新启动,因为这个插件没有响应”,同时获得第二个切片。

我正在使用此链接作为参考:[https://docs.microsoft.com/en-us/office/dev/add-ins/word/get-the-whole-document-from-an-add-in-for -字][1]

这是我的代码:

请建议!提前致谢![1]:https ://docs.microsoft.com/en-us/office/dev/add-ins/word/get-the-whole-document-from-an-add-in-for-word

0 投票
1 回答
115 浏览

office-js - 如何使用office.js查找word文档中是否存在strikeThrough / underline

我正在使用 office.js 处理 Word web-in。

我有一个要求,例如当我在 word 上加载文档时,如果用户在文档中进行任何删除线或下划线。需要检索该值是否为真/假。

截至目前,我能够检索当前选择的值。但在这里我需要整个文档的值

示例:-可能是一个字母/一个单词。基本上它应该通过在整个文档中搜索来返回结果(n 页)。

因此,它始终将值显示为“false”,尽管在 Word 上加载的总文档中标记为“strikeThrough”的单词。

有人可以帮帮我吗。

0 投票
0 回答
36 浏览

ms-word - 如何在 Word-Addins 任务窗格中创建自定义添加评论?

我正在为 Word for mac 创建一个 MS-Word 加载项,我必须创建一个带有任务窗格的自定义评论部分,因此我创建了一个文本框并在单击按钮时创建一个按钮评论添加到该选定文本。

我找到了很多文章,但对我不起作用,因此我在下面附上了示例代码。

HTML 文件

这里没有错误,但是没有注释的问题是设置选定的文本并且没有进入 catch 块。

如果有人对此有任何想法,那么它对我有很大帮助。

0 投票
1 回答
66 浏览

javascript - Office Word JavaScript 加载项实例之间的同步

我正在为 Office Word(Win10 和 Mac)开发 JavaScript 插件并将一些共享数据存储在其中OfficeRuntime.storage(打开以获取有关其他全局持久存储的建议)。加载项在任务窗格上显示此数据。目前,如果用户通过一个实例更改此数据,它不会影响其他插件实例(例如在其他打开的文档中),直到重新打开任务窗格或插件手动重新读取数据。

有没有办法通知活动的加载项实例有关存储的更改?

我尝试了 HTML5 存储,但在加载项初始化时它只获取一次值。存储事件在加载项中根本不起作用。我也不想每 N 次集中存储,也不想使用一些第三方服务器(例如使用 websocket)来实现它。

关于如何同步两个不同的加载项实例有什么建议吗?也许 Office 产品团队已经在做类似的事情了?

0 投票
1 回答
34 浏览

office-js - 获取文档办公室-js word web-addin中的字段范围

我必须在选定范围内插入一个字段才能实现功能。由于 office-js 不支持归档,因此我使用的是 office open xml。我已经实现了在 word 文档中的选定文本之前和之后插入字段的代码。OOXML 对应于插入的字段的样子。

插入后无论如何我可以选择插入字段的范围。

例如,在 Word.ContentControl 类中,我们有 select() 方法,该方法将滚动到所选内容,它还有 getRange() 方法。

是否可以为插入文档中的字段完成相同的功能( select() 和 getRange() )

office-js word web-addin

0 投票
0 回答
31 浏览

javascript - 无法获取未定义或空引用的属性“customXmlParts”

我正在从 Word365 Web 加载项单击自定义功能区栏按钮执行功能。由于此过程涉及多个对话框,因此我ExecuteFunction在清单文件中使用操作类型“”来单击功能区栏按钮。

单击功能区栏按钮“工作流”后,应打开“附加”对话框。该对话框中有一个名为“附加”的按钮。它应该打开一个服务器浏览对话框,并且选择的服务器文件将返回一个 json,我需要将其转换为 xml 并存储在 中document.CustomXmlParts,因为它应该保存为文档特定值。

我还没有开始服务器浏览部分。我正在尝试在其中存储一些示例 xmldocument.CustomXmlParts作为测试尝试。但我无法访问Office.context.document.CustomXmlParts,它给出了错误“ Unable to get property 'customXmlParts' of undefined or null reference”。但是当我尝试Office.context.document.CustomXmlParts在 FunctionFile.js 中访问时,我可以保存 xml 内容并成功检索它。

请帮我弄清楚到底是什么问题。

清单文件

函数文件.js

DlgAttachXML.js 文件

先感谢您。

0 投票
0 回答
20 浏览

javascript - 无法发出服务器请求 - Word js api

我正在从 Word365 Web 加载项单击自定义功能区栏按钮执行功能。由于此过程涉及多个对话框,因此我在清单文件中使用操作类型“ExecuteFunction”来单击功能区栏按钮。

单击功能区栏按钮“工作流”后,应打开“附加”对话框。该对话框中有一个名为“附加”的按钮。我目前正在尝试向我们的服务器发送“GET”请求并获取响应文本。下面是我的“附加”按钮点击代码。

我也在清单文件中添加了域。(可能是我不正确)

上面的函数总是返回alert('Network Error');

如果我使用以下request.onreadystatechange事件,response则为 null 并且status为 0。

请帮助我确定代码有什么问题。我的方法不正确吗?提前致谢。

0 投票
0 回答
47 浏览

office-js - Word Web 加载项仅在清理缓存后才有效

我正在开发 word web 插件。在非开发环境中,我一直面临两个问题。

  1. 有时 word 插件在非开发环境中显示空白屏幕。只有在按照下面的 MS 链接中提到的清理缓存后,它才会开始工作。这确实会造成很多麻烦。 https://docs.microsoft.com/en-us/office/dev/add-ins/testing/troubleshoot-development-errors 当我检查日志时,我看到以下错误,

错误:缩小的 React 错误 #200;访问https://reactjs.org/docs/error-decoder.html?invariant=200获取完整消息,或使用非缩小开发环境获取完整错误和其他有用的警告。在exports.render (eval code:290:266) at render (eval code:13831:9) at eval code (eval code:13834:1) at ./index.tsx (https://xxxxxx/app.92a88d0275783a78f955. js:6497:1) 在webpack_require (https://xxxxx/app.92a88d0275783a78f955.js:21:12) 在 1 (https://xxxxxx/app.92a88d0275783a78f955.js:6506:1) 在webpack_require (https:// /xxxxx/app.92a88d0275783a78f955.js:21:12) 在匿名函数 (https://xxxxxx/app.92a88d0275783a78f955.js:85:11) 在全局代码 (https://xxxxxx/app.92a88d0275783a78f955.js:2) :11)

该应用程序在浏览器中运行良好。

  1. 当我长时间打开加载项这个词时,我的加载项崩溃并出现错误,“抱歉,我们不得不重新启动,因为这个加载项没有响应”

请让我知道如何解决这些问题。

谢谢,萨巴雷什

0 投票
0 回答
21 浏览

office-js - 将保存在 Onedrive 中的文件添加到 API 请求

这允许将本地保存的文件添加到 REST 请求。但是对于保存在云位置的文件,如何做到这一点。我正在为 Word 365 创建一个加载项。并且还使用 Office javascript API。在加载项 Web 项目中,我有一个 C# 控制器来向另一个 API 端点发出 POST 请求。对于那个 POST 请求,我需要在 Onedrive 中添加保存的 Word 文件。我尝试使用 RestSharp.RestRequest.AddFile 方法,但没有奏效。