问题标签 [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 投票
3 回答
351 浏览

excel - 如何为 XLL 兼容的自定义函数匹配 XLL [剧透:你不知道]

为了实现与现有 XLL 的兼容性,我想在我的 Excel 加载项的清单中标识等效的 XLL。我现有的加载项使用 XLL 技术,但它是通过使用 Add-In Express 的 3rd 方库来实现的。因此,在我的情况下,自定义函数也包含在 dll 中,该 dll 还包含加载项的 COM UI 部分。所以我没有物理xll文件。

由于我找到了等效 COM 加载项的信息,因此 Excel 在以下位置搜索匹配的 ProgId

  • 计算机\HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins
  • 计算机\HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Excel\Addins

Excel 在哪里寻找匹配的 XLL 文件?

我想看看 Add-In-Express 在那里添加了什么,然后用它来引用它作为 XLL 等效项的 FileName。

0 投票
2 回答
334 浏览

excel - 自定义函数不适用于 IIS 托管的 Office Excel 加载项

我们将批处理自定义功能项目作为托管应用程序部署到 IIS 中。任务窗格与 API 配合良好。但是当尝试作为面临问题的自定义函数调用时

加载自定义函数时出错

在加载项的底部。我们使用 webpack.config.js 进行开发,但在 IIS 上部署以准确运行服务器时几乎没有混淆。那么我们需要使用express js来运行单独的端口还是直接运行足够的webpack.config.js文件?请确认此部署过程。此外,与任务窗格相关的 API 能够成功获取,但仅面临与自定义功能相关的 API 的问题。

0 投票
1 回答
140 浏览

excel - UDF Excel 使用 Vlookup?JavaScript API

如何在我的 Excel 电子表格中调用它?Rick 在下面用下面的代码帮助了我,但是我怎么称呼它呢?我正在尝试 VLOOKUP numOfParts(在参数中询问)并返回 finalInspectionPerPart。

在此处输入图像描述

0 投票
2 回答
221 浏览

excel - 调用 Excel Office.js 自定义函数时如何隐藏开发者窗口

我正在使用包含自定义函数的 Office.js 编写 Excel 加载项,并且想知道在我调用自定义函数时是否有办法阻止开发人员窗口打开。

<bt:Url id="Functions.Page.Url" DefaultValue="https://localhost:3000/functions.html" />每当我在加载加载项后第一次调用该函数时,manifest.xml 中的空白“functions.html”页面就会打开。

使用 Excel for Mac (16.32)。

0 投票
0 回答
355 浏览

office-js - Excel JavaScript 自定义函数中的“ReferenceError:找不到变量:需要”

我正在尝试运行需要两个第三方库的自定义函数。我将库添加到库的窗格中,如下所示:

我收到这些错误:

自定义函数的代码也抱怨需要,但我能够用这个解决它。

我在这里找到了建议,但不确定如何让它与库一起使用。

我错过了什么?

提前致谢。

0 投票
0 回答
319 浏览

office-js - 我可以在 Excel JavaScript API 的自定义函数中发出 POST 请求吗?

我正在使用 Microsoft JavaScript API 构建 Excel 加载项,但在自定义函数中发出 POST 请求时遇到问题。我可以在任务窗格中很好地发出 POST 请求,但相同的代码在自定义函数中不起作用。

有没有办法在自定义函数中发出 POST 请求?我知道有人在这里问过这个问题:Unable to get POST request working in Excel custom functions。但我不完全确定答案是什么意思。

提前致谢!

0 投票
1 回答
277 浏览

typescript - 等待由 OfficeJS 触发的充满公式的 excel 计算

我想在 Excel 完成我自己触发的完整计算后执行一些代码。所以目前我正在以这种方式调用计算。

但这似乎只是触发 Excel 进行计算,并在实际计算之前完成。试图等待一个事后的调用context.sync()不会改变结果。

有一个事件指示计算完成,而不是一个承诺?

0 投票
1 回答
122 浏览

excel - 使用 Script Lab 调用在现有加载项中定义的函数

我可以在单元格内调用自定义函数,这些单元格是我使用 Office 加载项对话框安装的加载项的一部分。

我知道我可以使用 Context 对象调用内置的 Excel 函数。但是,我认为我不能使用相同的方法来调用加载项附带的自定义函数。

如果可以仅触发单元格内的功能,例如当您进入该单元格并按“Enter”时,那也可以。

0 投票
1 回答
158 浏览

excel - Office JS:在多个 Excel 实例中执行 Addin 时出现问题

我在多个 Excel 实例中执行 Office 插件时遇到问题。当两者同时执行时,一个停止运行。

我做了 2 个快速 ScriptLab 示例,您可以在其中重现一些问题(我粘贴了它们)。一个包含一个 UDF 函数,只需在 ScriptLab 中注册它。另一个是产生我的一个问题的样本。

首先注册 UDF,比使用第二部分之前,创建 2 个工作簿,每个工作簿有 100 个包含以下函数的工作表(取决于 Snippent 名称,在我的情况下是“Blank snippet (1)”,如果你的名字不同的话,请在此处以及函数“findAllOrNullObject”的插件代码中调整公式名称)。

=SCRIPTLAB.BLANKSNIPPET1.ADD(1;2)

最快的方法是:使用该功能创建十张工作表并将这十张工作表复制十次到工作簿的末尾。完成此操作后,使用不同的名称再次保存工作簿。之后,打开两个工作簿并单击“运行”(在两个工作表中)。而不是在两者都在运行或打开一个应用程序时单击另一个应用程序。在控制台上,您将看到一个计数器,指示插件实际在哪个工作表上工作。您应该在两个实例中都期望“INDEX:100”,但是当您单击另一个应用程序或启动一个应用程序时,一个实例会停止并且不会达到 100。如果您不会直接遇到问题,只需再试一次,它肯定会出现。

UDF 代码:

插件代码:

如果我删除搜索部分,它会起作用。

0 投票
1 回答
94 浏览

javascript - 功能:调用 JSON 数据的 API,显示所需参数的速率 --> IMPORTJSON(url,xpath) ex。IMPORTJSON(x.com, rates.f) --> 0.042

所以我正在使用googlesheets。他们有一个使用谷歌应用脚​​本https://developers.google.com/apps-script/guides/sheets的脚本编辑器。

基本上是JavaScript

我想创建一个函数来运行一个输出我特别想要的 JSON 文件。例如文件外:

我想访问 F 的速率。所以当我调用我的函数时,它输出 0.9199812。

我写的函数是这样的:

我试图这样称呼它: IMPORTJSON(myurl, rates.F) 但我的工作表告诉我解析公式时出错...该链接肯定有效,因此我的调用 (rates.F) 必须有错误或者用我定义呼叫的方式。请帮忙。