VSTO如何将自定义扩展名文档添加到MS-Office的“最近使用的文档”列表
解决方案
方法1:调用Office原生RecentFiles接口(推荐)
Office对象模型直接提供了最近文档列表的操作接口,自定义扩展名文件只要真实存在就可以正常添加,以Word VSTO项目为例,Excel、PPT等其他Office组件的接口逻辑完全一致,仅需替换为对应宿主的Application对象即可:
// 自定义扩展名文档保存完成后执行以下代码 string customDocPath = @"C:\你的文件存储路径\自定义加密文档.你的后缀"; // 替换为实际文件路径 // 第二个参数设为true表示将该文档放在最近列表顶部 Globals.ThisAddIn.Application.RecentFiles.Add(customDocPath, true);
注意事项:
- 调用时需确保使用的是当前VSTO插件对应的宿主应用实例,不要跨应用调用
- 该方法添加的记录点击后会触发Office应用尝试打开文档,你可以在VSTO的文档加载事件中适配自定义扩展名的解密逻辑
方法2:注册表写入方案(接口调用受限时备选)
如果遇到Office安全策略限制导致接口调用不生效,可以直接写入对应Office应用的注册表最近列表项,以Word/Office 365为例,注册表路径为:HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\File MRU
操作说明:
- 16.0对应Office 2016/2019/2021/365版本,和你使用的VS2019开发环境适配
- 新项的值遵循原有列表项的格式:
[F00000000][T当前时间的FILETIME格式值]*你的文件完整路径 - 写入完成后重启Office应用即可看到对应记录
验证方法
添加完成后直接打开对应Office应用的「最近」选项卡,即可看到自定义扩展名的文档记录,无需额外配置。
内容的提问来源于stack exchange,提问作者David BS
相关产品推荐
相关产品推荐

