问题标签 [custom-functions-excel]

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 回答
45 浏览

excel - UDF 在 VBA 中调用正常,但在工作表中调用时返回空白

我在一个模块中有一个函数,在 Sub 中调用时运行良好,但在工作表中使用时,我只得到空白。这些功能意味着有 3 个输入。一个输入确定要检查的工作表,然后找到与其他 2 个条件匹配的行。我使用了一个调用该函数的子程序并提供了一个带有结果的 msgbox,这是正确的。但是在工作表中,相同的输入导致了一个空白单元格。

0 投票
2 回答
103 浏览

javascript - 如何在自定义函数运行时中按环境配置函数?

我们试图在自定义函数运行时动态确定执行环境,以便设置一组环境变量。我们有多个执行自定义函数的环境:

  • 当地的
  • 分期
  • 质量保证
  • 生产

我们希望避免为每个环境生成单独的包。相反,我们希望生成一个单独的包并确定我们在运行时在哪个环境中执行。例如,这将使我们能够确定支持我们功能的后端 API 服务器的适当 URL。

对于我们的任务窗格加载项,我们只是使用 window.location.hostname 的值来确定当前环境并选择适当的 API 服务器 URL。在 Mac 上的 Excel 中的自定义函数运行时中执行时,这似乎也可以按预期工作。不幸的是,在 Windows 上的 Excel 中执行时,窗口对象在自定义函数运行时中未定义。

  1. 是否可以在自定义函数运行时中获取通常可以通过 window.location.hostname 访问的主机名?
  2. 如果没有,我们为每个环境维护一个清单(例如 manifest-local.xml、manifest-staging.xml 等)。是否可以在我的自定义函数逻辑中从应用程序清单中检索值?例如,如果我的清单中有下面的资源部分,我可以在我的自定义函数逻辑中检索 Taskpane.Url 的 DefaultValue 吗?
  1. 如果没有,您是否会推荐另一种方法将指示当前环境的值传递给自定义函数?

提前致谢。

0 投票
1 回答
153 浏览

javascript - Microsoft Websocket 代码示例返回错误

我正在尝试使用 Excel 365 自定义函数建立 websocket 连接,并直接从微软网站复制粘贴代码:https ://docs.microsoft.com/en-us/office/dev/add-ins /excel/custom-functions-web-reqs

显然我必须遗漏一些东西,因为上面的代码没有运行。

另外,当我将鼠标悬停在“消息”上时,它会显示:找不到名称“消息”。您指的是 'onmessage' 吗?

我究竟做错了什么?

0 投票
1 回答
132 浏览

excel - 使用 Excel 内置函数从自定义函数调用 Microsoft Excel API?

由于此链接Call Microsft Excel APIs from a custom function ,我成功地从自定义函数调用了我的第一个 Microsoft Excel API 。但是,我正在尝试在我的自定义函数中添加 VLOOKUP 内置 Excel 函数。在尝试了多种方法以使我的代码正常工作后,我仍然得到#VALUE!在细胞中。我的代码缺少什么?我知道这是 5/11 的全新产品,所以这个功能还不可用吗?

在此处输入图像描述

0 投票
1 回答
149 浏览

excel - excel自定义函数加载项中的socket-cluster客户端问题

我正在尝试开发一个 excel 插件,它主要具有自定义功能,可以从套接字服务器读取数据,然后实时发布到 excel 单元格。

加载项需要身份验证,它是使用 OfficeDialog 和 auth0 服务实现的。

问题是我的插件将使用socketcluster-clientand 当我在我的 functions.js 中实例化客户端时,如下所示:

加载项停止在 excel 桌面上运行,但仍可在 excel web 上运行。我可以看到 excel-web 登录到我的套接字集群服务器。所以问题出在桌面版的 excel 上。

有人可以帮我弄这个吗?

我的第一个 socket-cluster 客户端使用 async/wait 我的第一个想法是,由于自定义函数在与 office-js 的其余部分不同的运行时运行,所以这个运行时可能不支持这个功能,但我试图让一切都在共享运行时没有成功。

任何建议都非常感谢,因为这对我来说是全新的,我真的很想实现这一点。

谢谢

套接字集群的站点是https://socketcluster.io/

0 投票
1 回答
104 浏览

app-store - 发布 Office 插件时出现问题

实际上我们正在尝试发布一个办公室插件,但微软的第一次验证失败了,有些事情我不明白。

1) 帮助 URL 属性 您的商品必须在自定义函数元数据中设置了 helpURL 属性。有关详细信息,请参阅https://docs.microsoft.com/en-us/office/dev/add-ins/excel/custom-functions-json。请添加 helpURL 属性并重新提交您的报价。

manifest.xml 的提取

那我做错了什么?我检查了我的 json 文件并认为缺少 helpURL,但生成了 json。如何在 function.ts 文件中设置 helURL?我是否为每个函数提供了一个帮助页面,其中包含函数及其参数的完整描述,还是包含所有函数的 json 文件的 helpURL 足够?

2) 您的加载项描述包含对“应用程序”的引用。请注意,平台名称是“Office 和 SharePoint 加载项”。请解决此问题并重新提交您的报价。

我在哪里可以改变这个?

此外,还有一些其他更普遍的问题:

我们的加载项是我们主要应用程序的客户能够在 Excel 中使用主要应用程序功能的解决方案。因此,您需要主应用程序(收费)才能使用该插件。这就是为什么只有一个登录屏幕,无法“注册”加载项。您使用主应用程序的凭据登录。

1)是否绝对有必要让人们“注册”,即使他们没有主应用程序?

2)我们需要为每个人提供插件的“测试帐户”吗?而且,我们是否只需要提供一个示例来查看加载项的作用?正如我所说,插件对主应用程序的客户来说很有趣。

3) 在 firstRunExperience 点下,我们得到一个提示,可以添加一行或多行描述外接程序的功能,以提供清晰的值介词。我们必须做什么或者我们必须在哪里添加这些行?它不能在加载项中,因为如果我检查其他加载项,加载项本身的第一个屏幕上没有描述。

4) 支持 URL 指向我们自己的支持页面,您必须在其中进行身份验证。看起来这是不允许的,但我们主应用程序的客户拥有支持页面的帐户。我们是否必须为无需身份验证的加载项创建一个单独的支持页面,您可以在其中发送邮件等?

5) 额外费用披露:当我们向用户收取使用我们的主应用程序(而不是插件(!))的费用时,我们是否必须宣传插件的额外费用?

提前感谢您的支持。

0 投票
0 回答
67 浏览

excel - 如何使用 Officejs 在自定义函数中使用参数

我们在 OfficeJS 中开发了带有自定义功能的 Excel 插件。它也被部署到域服务器中,下面是结果。

1) 在在线 Excel 自定义函数中,最少单个参数能够调用 Web api 并将数据绑定到 Excel。2)但对于桌面 Excel,同样适用于最少两个参数,并且能够将数据 Api 到 Excel 单元格,并且它不适用于最少的单个参数场景。

您能否确认一下桌面场景为什么它不能使用最少的单个参数。

0 投票
0 回答
110 浏览

excel - 在 Excel 自定义函数中使用 Excel 上下文

我正在尝试var context = new Excel.RequestContext()在文档中指定的 Excel 自定义函数中使用,但浏览器一直抱怨 Excel 对象不存在。有人设法从自定义函数中调用 Excel 对象函数吗?

谢谢马特奥

0 投票
1 回答
199 浏览

excel - 使用加载项的 Excel 自定义函数:“此加载项不再可用”错误

我按照此处的所有步骤尝试加载基本的 excel 自定义函数插件。设置阶段的所有内容似乎都可以正常工作,但是,当我运行“npm run start:desktop”并打开 Excel 时,出现错误说:

加载项错误 此加载项不再可用:开发期间插入的加载项仅在 Visual Studio 调试期间可用。请在 Visual Studio 中打开您的项目并重新运行您的应用程序,或者将您的应用程序部署到有效的目录中并重新插入

无论是从命令行、VS Code 还是 Visual Studio 运行项目,我都会收到此错误。我在使用 Excel 2016 的 Windows 10 上。

这是出现错误的 Excel 页面的照片:在此处输入图像描述

0 投票
1 回答
740 浏览

reactjs - Excel JS 加载项 - 共享运行时不起作用

我正在尝试使用“共享运行时”来处理我的 Excel JS 加载项,但它不起作用。以下是我一直在查看的文档。下面是我的项目的截图。看起来我可以设置初始状态,但我的自定义函数没有更新 window.sharedState。我也尝试使用 Excel 上下文对象,但这也不起作用。

文档链接

  1. https://docs.microsoft.com/en-us/office/dev/add-ins/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial
  2. https://docs.microsoft.com/en-us/office/dev/add-ins/excel/configure-your-add-in-to-use-a-shared-runtime

项目截图

我的 Excel 加载项项目(屏幕截图 #1)

我的 Excel 加载项 manifest.xml 文件(屏幕截图 #2)