XLAM / XLA Addins:有更好的方法吗?

2024-04-07

这篇文章是关于在不创建链接的情况下安装 XLAM 的。 (每个人都讨厌链接)。考虑一下这个简单的插件:

    Public Function UDF_HELLO(x)
        UDF_HELLO = "Hello " & x
    End Function

将此代码(而不是其他任何内容)放入模块中,并在桌面上另存为“Hello.xlam”(而不是在默认的 Excel 插件文件夹中)。接下来,在 HELLO.XLAM 仍处于打开状态时,使用以下公式创建一个新的 XLSX 工作簿

      =UDF_Hello("world")

在单元格 A1 中,它仅在该单元格中显示“Hello world”。保存工作簿并退出 Excel。现在,如果您在没有 XLAM 的情况下重新打开工作簿,Excel 将抱怨“链接到其他源......”。无论您单击“更新”还是“不更新”,Excel 都会破坏单元格 A1 中的公式,如下所示:

    ='C:\Documents and Settings\tpascale\Desktop\Hello.xlam'!UDF_Hello("world")

很多时候,这种“强制联系”是不可取的。在我的计算环境中,有很多临时分析,对我们为解决当前问题而组合在一起的每个 XLAM 强加安装方案是没有意义的。我只是想将 XLAM 文件分发给用户,让这些用户在需要时打开它们,而不必担心最轻微的失误会导致他们的公式被破坏。

问题:

有没有办法指示 Excel 永远不要为 UDF 构建外部链接,而只是在加载 UDF 时使用它们,否则返回 #VALUEs ?


我不知道使用 .xla/.xlam 插件解决这个问题的方法。

但 .xll 加载项不会出现此问题。 这些可以在 C 中使用以下命令创建Excel 2010 SDK http://www.microsoft.com/downloads/en/details.aspx?familyid=9129a28e-d11c-4ac3-aee3-cbb5496908cf,或者使用免费的托管语言(例如 VB.NET 或 C#)Excel-DNA http://exceldna.codeplex.com图书馆。

(免责声明:我是 Excel-DNA 的开发人员。这个问题是我使用 .xll 接口来制作托管 UDF 加载项的原因之一。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XLAM / XLA Addins:有更好的方法吗? 的相关文章

随机推荐