我们成功地使用DSOFile.dll将自定义属性添加到文件中。进入Office 2013后,DSO停止工作。我们尝试在相同的环境中创建poc,但这也不起作用。下面是添加自定义属性的代码片段。
OleDocumentPropertiesClass doc = new OleDocumentPropertiesClass();
doc.Open(fileName, false, dsoFileOpenOptions.dsoOptionOpenReadOnlyIfNoWriteAccess);
object val = "joy";
doc.CustomProperties.Add("joyskeyclass", ref val);
doc.Save();
我们可以使用DSOFile.dll读取添加到office 2013文件中的自定义属性。但是当我们打开像excel这样的办公应用程序并导航到自定义属性对话框时,它并没有被列出。此外,如果我们通过MS word自定义对话框添加自定义属性,它不会在DSO对象的迭代中列出。
我安装了最新的office 2013补丁后就可以工作了。
特别是MsoShExt.dll来自
http://support.microsoft.com/kb/2760502