Word未运行时在Word文档中编写自定义属性

时间:2014-01-06 23:39:57

标签: ms-word vsto

我的.NET应用程序(能够标记文档的文件管理器)必须能够在Word文档中读取和写入自定义属性。

应用程序必须能够在Word中打开文档和Word未运行时执行此操作。

(它必须对Excel和Powerpoint文档执行相同的操作,而不仅仅是Word文档。)

我的问题是如何解决这个问题。

更新:以下是我认为可以解决的问题:

1)要处理Word中未打开文档的情况:应用程序将通过the openXml api将自定义属性直接写入文档文件。但是如果文档是.doc而不是.docx呢?我应该使用什么Api?

2)处理在Word中打开文档的情况:我将创建一个Word加载项,然后应用程序将向加载项发送消息(通过命名管道),告诉&#34 ;将此自定义属性添加到文档"。然后,加载项将添加属性,如解释here

您认为上述架构存在问题吗?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

以下是问题(1)的答案,我在此期间发现:

为了在旧的.doc文件(office 2003)中读写自定义属性,我使用了dsofile.dll

然后

regsvr32 DSOFile.dll

然后,在visual studio项目中,添加对dsofile.dll的引用。

然后编写代码。

难点在于该库仅适用于32位。对于64位,区别在于:我必须找到64位编译版本(link)。然后我不得不

regsvr32 DSOFile.dll

然后我在我的vstudio项目中添加了一个引用而不是到该dll,但是添加到Interop.DSOFile.dll。