如何在.NET 4中向Word文档添加自定义属性?

5

使用.NET 4,如何向文档添加自定义属性?

我假设步骤如下:

WordApp // an instance of Microsoft.Office.Interop.Word.Application
  .ActiveDocument
  .CustomDocumentProperties
  .Add...?

我似乎找不到适用于.NET4/interops v14的相关文档。

3个回答

9

我花了很多时间去猜测(比12分钟更多,我很尴尬地说!)才弄清楚这个问题:

WordApp // an instance of Microsoft.Office.Interop.Word.Application
  .ActiveDocument
  .CustomDocumentProperties
  .Add(Name: "PropertyName", 
       LinkToContent: false, 
       Type: 4, 
       Value: "PropertyValue");

我找不到一个很好的枚举类型,所以我从论坛帖子中挖出了字符串的"4"这个魔数,它起作用了。对于普通浏览器来说,这很棘手,因为CustomDocumentProperties是动态的,所以我没有智能提示。而且,由于某种原因,我找不到相关文档。

在 Word 中进入 VBE(ALT-F11),并使用其中的帮助菜单搜索 CustomDocumentProperties。 - Ishmael
CustomDocumentProperties 不包含添加函数的信息 :( 我正在使用 Microsoft.Office.Interop.Word.Application .ActiveDocument。 - ZCoder

4
神奇的数字4并不那么神奇。这是您可以使用的枚举: (microsoft.office.core的一部分)
public enum MsoDocProperties
{
    msoPropertyTypeNumber = 1,
    msoPropertyTypeBoolean = 2,
    msoPropertyTypeDate = 3,
    msoPropertyTypeString = 4,
    msoPropertyTypeFloat = 5,
}

1
使用DSO文件读取/写入Office文档的自定义属性。实际上,DSO文件适用于任何文件格式。DSO是Microsoft开发人员支持OLE文件属性阅读器,可读取和写入Microsoft Word、Microsoft Excel、Microsoft PowerPoint和Microsoft Visio文件的文档属性,独立于创建文件的应用程序。此下载包中还包括一个示例应用程序。请尝试一下 :) DSO文件下载

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接