5

Using .NET 4, how do I add custom properties to a document?

I'm assuming it goes something like this:

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

I cannot seem to find documentation for this that applies to .NET4/interops v14.

Michael Haren
  • 105,752
  • 40
  • 168
  • 205

3 Answers3

9

It took a lot of guessing (much more than 12 minutes worth, I'm embarrassed to say!) to figure this out:

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

I couldn't find a decent enum for the types, so I dug the magic number "4" out of a forum post for string and it works...

For casual browsers, this was tricky because CustomDocumentProperties is dynamic, so I get no Intellisense. And for some reason, I cannot find docs on this.

Michael Haren
  • 105,752
  • 40
  • 168
  • 205
  • In Word go to the VBE (ALT-F11), and use the help menu in there to search for CustomDocumentProperties. – Ishmael Nov 21 '10 at 20:50
  • CustomDocumentProperties does not contain the Add Function information :( i am using Microsoft.Office.Interop.Word.Application .ActiveDocument – ZCoder Jun 04 '19 at 23:05
4

The magic number 4 isn't that magic. Here is the enum you can use: (part of microsoft.office.core)

public enum MsoDocProperties
{
    msoPropertyTypeNumber = 1,
    msoPropertyTypeBoolean = 2,
    msoPropertyTypeDate = 3,
    msoPropertyTypeString = 4,
    msoPropertyTypeFloat = 5,
}
Eddy
  • 5,320
  • 24
  • 40
1

Use DSO File to Read/Write custom properties of Office documents. In fact DSO file works on any file format. DSO is Microsoft Developer Support OLE File Property Reader to read and write document properties of Microsoft Word, Microsoft Excel, Microsoft PowerPoint, and Microsoft Visio files, independent of the application that created the file. A sample application is also included with this download. Please try this :) DSO File Download.

Ravi Shankar
  • 153
  • 1
  • 5