excel - 如何以编程方式重新启用 MS Office 禁用文件列表中的文档

标签 excel ms-word ms-office powerpoint

MS Office 程序会保留一份已禁用文件的列表,这些文件在之前打开时会导致错误。用户可以通过程序菜单访问列表并选择要重新启用的文档来从该列表中删除文档。 (http://support.microsoft.com/kb/286017)

问题是:如何在不与 gui 交互的情况下以编程方式完成对文档的重新启用?

最佳答案

合并以前的答案并在此处进行阐述。

Office 产品将禁用项目存储在注册表中名为 HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\<product>\Resiliency\DisabledItems 的项下.例如,Excel 2010 的禁用列表位于 HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Resiliency\DisabledItems 下。 .

每个禁用的项目都存储为类型为 REG_BINARY 的随机命名的键。 .字节数组的格式为:

  • 字节 0-3 : ??? (可能是 32 位 uint 类型代码,1 = COM 插件)
  • 字节 4-7 :第一个字符串(路径)的 32 位 uint 长度(以字节为单位)
  • 字节 8-11 :第二个字符串(描述)的 32 位 uint 长度(以字节为单位)
  • bytes 12-end : 两个 unicode 字符串,每个字符串的字节长度存储在
  • 上面的 uints 中

    关于excel - 如何以编程方式重新启用 MS Office 禁用文件列表中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/751048/

    相关文章:

    VBA Excel代码,excel.exe不会关闭

    c# - 如何从 Word 文档复制富文本内容控件的内容并使用 Open XML SDK 删除控件本身

    c# - 以编程方式保存 MS Word 插件中打开的文档

    visual-studio-2010 - VSTO 文档级自定义

    excel - 在 Outlook 电子邮件中插入签名

    excel - 复制并粘贴回excel中的过滤列表

    excel - 两个日期之间出现最多的文本 Excel

    c# - 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    java - android中word文档转pdf

    c++ - 如何监听独立启动的Office应用程序的COM事件?