Office集成(Word) - 拦截保存

时间:2009-09-12 14:59:09

标签: ms-word vsto ms-office

我计划实施一个小型的内部文件管理系统。它必须具有用于管理存储在数据库中的远程文件夹结构的Web GUI。在这些文件夹中存储了word文档(物理上是blob在数据库中)。每当用户点击文档链接时,通过浏览器下载二进制文字,并且(希望)在用户PC的Word中打开。

这是容易的部分;)

现在用户点击“保存”或Ctrl-S。我希望在Word中编写一个功能,调用自定义函数(可能在.NET DLL中),将保存的文件上传回服务器(HTTP)。困难的部分在我看来:

  • 如何拦截保存流程以调用扩展功能
  • 如何将此部署到多个用户

3 个答案:

答案 0 :(得分:1)

AFAIK,这是Alfresco正在对其Microsoft Office Add-ins做的事情(尽管我从未测试过)。由于Alfresco是开源的,因此必须能够看到他们正在做的事情。或者只是在Alfresco的forums上提问。

答案 1 :(得分:1)

您可以尝试覆盖功能区中的“保存”,或者使用您想要的行为构建自己的功能区选项卡。可能更难以覆盖“Ctrl-S”。

覆盖功能区:StackOverflow Question

关于更改标准功能区按钮的视频:Office Developer Center

答案 2 :(得分:1)

Mike's linkthe question I answered应该拦截文件保存。 File->Save的特定按钮idMso是“FileSave”

要将其部署到多台用户计算机,您可以

  1. 创建一个安装项目,该项目将创建一个可以在所有用户计算机上运行的msi
  2. 如果是Intranet方案,您可以将程序集保留在网络位置,只需将neceassary注册表设置添加到所有用户计算机。此article应描述您需要包含的设置。您只需要将路径设置更改为指向网络位置。