Поздний ответ на этот вопрос, но я разработал более простой способ добавления пользовательских свойств DocumentProperties, которые могут пригодиться кому-то в будущем.
Моя проблема заключалась в том, что вызов метода Add () с типом System, предоставленным System.String.GetType (), вызвал исключение COMException: Несоответствие типов. Ссылаясь на ссылку в предыдущих ответах, становится ясно, что этот метод ожидает специфичный для Office тип, поэтому код, который в итоге работал для меня, был:
var custProps = (Office.DocumentProperties)this.CustomDocumentProperties;
custProps.Add( "AProperty", false, MsoDocProperties.msoPropertyTypeString, "AStringProperty" );
Поскольку это CustomDocumentProperty, Office без труда добавит настраиваемое свойство, но если вам нужно проверить наличие или проверить значение, когда CustomDocumentProperty может не существовать, вам придется перехватывать исключение System.ArgumentException.
EDIT
Как отмечается в комментарии Оливера Бока, насколько мне известно, это решение Office 2007 и только для него.