在c#中以编程方式禁用/取消注册Excel UDF

本文关键字:取消 注册 Excel UDF 方式禁 编程 | 更新日期: 2023-09-27 18:12:04

我想知道,我们如何在c#中以编程方式禁用Excel UDF ?

我想也许我们可能不得不操纵注册表项来实现这一点。但这里应该看哪些子键呢?我不想不小心破坏整个子键树结构。有人能帮帮我吗?

注册表键值结构

HKEY_CLASSES_ROOT

 - CLSID
    - {MYCLASSID}
      - Implemented Categories
      - InprocServer32 **(got quite a few subkeys within, perhaps this one?)**
      - ProgId
      - Programmable

在c#中以编程方式禁用/取消注册Excel UDF

幸运的是,我想我已经找到了答案。

似乎子键InprocServer32(default)值控制Excel UDF。如果将其值设置为empty,则自动化服务器将无法识别UDF,因此在单元格中显示#Name标记,这在本例中几乎就是我所需要的。

如果我想启用Excel UDF,只需将其值设置为C:'WINDOWS'system32'mscoree.dll, UDF将再次可用。