部署 Excel UDF

2023-12-20

我有一个调用 Web 服务的 Excel UDF。 UDF 代码是一个自动化插件代码,它是一个 C# 类库,我为其创建了一个安装程序。当我运行设置时,Excel的toos-->addins-->automation addins列表中没有出现对特定插件代码的引用,并且该函数也没有出现在公式栏中。我使用的是 VS 2008 和 Excel 2003。

我在这里错过了什么吗?我是否应该定义 Excel 必须从中选择 dll 的路径,以便它指向从 udf 代码生成的 dll?或者有什么安全问题需要注意吗?客户端计算机的安全级别设置为“完全信任”,但该插件未出现在列表中。

我在这里错过了什么吗?


发生这种情况是因为安装自动化加载项需要在注册表中创建自定义“CLSID{GUID}\Programmable”条目,在创建自动化加载项时,通常通过包含标有ComRegisterFunction属性 http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comregisterfunctionattribute.aspx and ComUnregisterFunctionAttribute http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comunregisterfunctionattribute(VS.80).aspx在你的班级内。当您在程序集上运行 RegAsm 时,就会注册这些类。

但是,当使用 Visual Studio 安装包时,ComRegisterFunctionAttribute 和 ComUnregisterFunctionAttribute 会被悄悄忽略。出现这种情况是因为安装项目使用 /regfile 开关运行 RegAsm,以生成包含所有必需注册表项的 .reg 文件。当 .msi 包在客户端站点运行时,将使用此 .reg 文件。问题是,当 RegAsm 通过 /regfile 开关运行时,生成的 .reg 文件不包含由用户定义的寄存器函数(例如,用 ComRegisterFunctionAttribute 和 ComUnregisterFunctionAttribute 标记的函数)进行的任何注册表更新。

因此,不会创建您的自定义“CLSID{GUID}\Programmable”注册表项,因此您的自动化加载项不会显示在自动化加载项列表中。

要解决这种情况,您必须通过其他方式创建您自己的自定义“CLSID{GUID}\Programmable”条目。最简单的方法是使用注册表编辑器 http://msdn.microsoft.com/en-us/library/aa243964(VS.60).aspx安装包的部分。

正确处理自动化插件安装包的所有步骤有些复杂。幸运的是,我有一个关于如何执行此操作的分步解释(以及关于为什么会发生这种情况的更详细描述)作为问题的答案:如何在自动化服务器列表中安装并注册用 VB.NET 编写的 COM Server for Excel https://stackoverflow.com/questions/1506858/how-to-get-com-server-for-excel-written-in-vb-net-installed-and-registered-in-aut/1506932#1506932.

希望这可以帮助!

Mike

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

部署 Excel UDF 的相关文章

  • SOAP Web 服务:多台服务器,一个接口

    我有一个场景 需要任意数量的服务器来提供相同的 SOAP Web 服务 我想生成一组代理类 并能够为它们提供一个位置 以便在运行时将它们指向不同的服务器 不幸的是 看起来好像wsdl port节点 子节点wsdl service 要求对特定
  • 如何从经过身份验证的 SecurityToken 中获取声明

    我将令牌作为字符串传递到 SOAP 服务中 并验证了该令牌是否有效 我现在有一个 SecurityToken 在调试模式下我可以看到所有声明 特别是我想传递到另一个方法的 userId 声明 我似乎不知道如何获得这些索赔 现在 我解码了令牌
  • CMake(Ninja 后端)使用 /MT 编译

    我有一个类似的问题CMake 使用 MT 而不是 MD 进行编译 https stackoverflow com questions 14172856 cmake compile with mt instead of md但有一些差异 我正
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • 重载算术运算符

    赋值运算符可以声明为 T 运算符 const t 在类中 但不能以这种方式定义算术运算符 它必须是友元函数 我不明白为什么 你能解释一下吗 算术运算符不必须是友元 那么你可以这样定义 MyClass MyClass operator con
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • main.cpp 是必需的吗?

    我试图编译一个程序cmake 我最终删除了我的main cpp文件 我刚刚将其复合到另一个包含我的项目名称的文件中 即 我刚刚将主函数剪切并粘贴到该文件中 问题是我有一个main cpp未发现错误 不确定是否在C 一个名为main cpp是
  • fgets溢出后如何清除输入缓冲区?

    当输入字符串超出其预定义限制时 我遇到了 fgets 的小问题 以下面的例子为例 for index 0 index lt max index printf Enter the d string index 1 if fgets input
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • 使用未命名命名空间而不是静态命名空间

    我可以假设在未命名命名空间中声明的对象相当于static namespace int x 1 static int x 2 FWIK 在这两种情况下 x将具有静态存储期限和内部链接 声明为的对象的所有规则也是如此static适用于未命名名称
  • 如何防止 Lotus Notes 用户转发或复制通过 System.Net.Mail 发送的邮件?

    我想使用 SMTP 客户端 uiing microsft net 以 C 作为编程语言发送电子邮件 但是对于通过SMTP客户端发送的电子邮件 我们是否可以添加 禁止转发 或 禁止复制 等安全功能 我不希望电子邮件的收件人转发或复制电子邮件的
  • 为什么存在系统调用

    我一直在阅读有关系统调用及其在 Linux 中如何工作的内容 我还有更多的阅读要做 但我读过的一件事都没有回答 那就是 为什么我们需要系统调用 我知道系统调用是用户空间程序要求内核执行某些操作的请求 但我的问题基本上是 为什么用户空间程序本
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS

随机推荐

  • 如何通过javascript检测浏览器中是否按下停止加载按钮?

    如何通过 javascript 检测浏览器中是否按下停止加载按钮或页面是否仍在加载 假设脚本到达浏览器并且在按下 停止加载按钮 时不会停止执行 这可能是一个可行的选择 使用它仍然可以有未加载的资源 但会给你一个良好的开端
  • 在小写和大写之间添加空格?

    当字符串中包含大写字符或下划线时 我想添加一个空格 我该怎么做呢 实施例1 您可以使用匹配小写字符后跟大写字符的正则表达式 并在以下字符之间添加可选的下划线 string output Regex Replace input a z A Z
  • 车把动态部分块

    我有一个像这样的文件夹结构 components foo index js foo handlebars foo scss bar index js bar handlebars bar handlebars 为了方便地解析组件部分 我提供
  • UIImagePickerController 第一次打开速度很慢,双击时除外

    我在 iOS 9 上遇到了这种非常奇怪的行为 我有一个tableViewCell这会打开一个imagePicker当点击拍摄某物的照片时 当您第一次点击单元格时 需要大约 10 秒才能打开选择器 但是当您点击它两次时 它会立即打开 选择器的
  • 将数据写入assets目录下的.properties文件

    我的资产文件夹中有 config properties 我尝试获取数据并将其写入该文件 当我尝试获取数据 getProperty 时 一切正常 但是何时写入 setProperty 我在日志和数据中收到 java io IOExceptio
  • Meteor:将 Mongo Selector 从客户端传递到服务器的最佳方法

    我有一个如下所示的 mongo 集合 Foo X 键 Bars 值 编辑 我来自关系数据库背景 显然我的收藏不像下面这样 但你明白了 Foo1 Foo2 Foo3 Barbar Barbar Bar bar Bar BarBar Bar b
  • 添加新项目时更新列表

    使用 Angular 7 我有以下服务 StackBlitz 示例 https stackblitz com edit mk angular sync list Injectable providedIn root export class
  • Plon:如何对文件夹项目进行排序

    我有一个名为myfolder 里面有一些项目 例如 item1 item2 item3 等等 当我添加 portlet 时Navigation到页面左栏 并输入到文件夹中myfolder 它向我展示了 portlet 上的链接 如下所示 i
  • 如何将变量和数据从 PHP 传递到 JavaScript?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我在 PHP 中有一个变量 我在 JavaScript 代码中需要它的值 如何将我的变量从 PHP 转换为 JavaScrip
  • 使用 JPA 和 Hibernate 在 Persistence.xml 中配置 C3P0

    好吧 我第一次尝试使用 JPA Hibernate Spring 配置 C3P0 在 persistence xml 我有
  • pickerInput 默认选择所有选项

    我有大约十几个 pickerInputs 每次我运行我的闪亮应用程序时 所有内容都设置为没有选择 在输出工作之前我必须手动选择所有内容 这有点烦人 有没有办法让 pickerInput 在每次应用程序运行时默认 全选 您可以使用select
  • JavaScript 在 IE8 中不起作用

    我试图在页面加载时动态创建这个 html 元素 但是 当我运行它时 代码在 IE8 上不起作用 但在 Firefox safari 和其他浏览器中可以 function getmovie var container document get
  • React Hook - 只监听窗口 *宽度* 大小的变化

    我有一个可以听的钩子window resize事件 我只想听并更新window innerWidth变化 我希望忽略更改window innerHeight因为打开软键盘时会触发此操作 问题是 mediaSize 存储在我的 Redux S
  • 如何使用asp.net core razor Pages在CKEditor 5中上传图像

    ClassicEditor create document querySelector News Body language fa ckfinder uploadUrl URL catch error gt console error er
  • Java/iText/Flying Saucer:将包含 svg 标签的 HTML 转换为 pdf

    我正在尝试从 HTML 生成 Java 中的 pdf 文件 HTML 代码包含由 Google Charts API 生成的 svg 标签 用于显示柱形图 我尝试用 Flying Saucer R8 来做到这一点 如下所示 StringBu
  • 如何在南希显示我的 404 页面?

    我需要像这样在 Nancy 显示我的 404 错误页面 if ErrorCode 404 return View 404 html 怎么做 nemesv 的答案是正确的 但我只想添加一个使用 ViewRenderer 而不是 Generic
  • XmlPullParser getAttributeValue 返回 null

    我有以下 XML 结构存储在我的资产 xml folder
  • 使用 RegEx 从 PHP 中的字符串中提取地址

    我的问题 我正在尝试抓取各个链接美国众议院网站 http www house gov house MemberWWW by State shtml查找所有所列个人的华盛顿地址 问题是华盛顿地址的格式有时会有所不同 有时会有子弹 管道 新行和
  • 设计器中的 WPF 功能区选项卡视图

    我正在使用 Microsoft Ribbon for WPF 并创建多个 RibbonTab 我无法找出在设计器中查看 聚焦不同选项卡的方法 并且它默认显示 主页 选项卡 要查看我对 Home 选项卡以外的选项卡所做的设计 xaml 更改
  • 部署 Excel UDF

    我有一个调用 Web 服务的 Excel UDF UDF 代码是一个自动化插件代码 它是一个 C 类库 我为其创建了一个安装程序 当我运行设置时 Excel的toos gt addins gt automation addins列表中没有出