Взаимодействие C# Word по какой-либо причине не может изменить «Дату создания», встроенную в свойство документа

#c# #interop #word

Вопрос:

Код, который я использую:

 string fullPath = null;
DateTime creationDate = new DateTime();
string creatorName = null;
foreach (var arg in args) {
    if (arg.Contains("--path")) {
        fullPath = arg.Substring(7);
    }
    if (arg.Contains("--creationDate")) {
        creationDate = DateTime.Parse(arg.Substring(15));
    }
    if (arg.Contains("--creatorName")) {
        creatorName = arg.Substring(14);
    }
}

var wordInterop = new Microsoft.Office.Interop.Word.Application();
var wordWorkBook = wordInterop.Documents.Open(fullPath);

wordWorkBook.BuiltInDocumentProperties["Creation Date"].Value = creationDate;
wordWorkBook.BuiltInDocumentProperties["Author"].Value = creatorName;
wordWorkBook.Save();
wordInterop.Quit();
Marshal.ReleaseComObject(wordWorkBook);
Marshal.ReleaseComObject(wordInterop);

File.SetCreationTime(fullPath, creationDate);
 

Всякий раз, когда я распечатываю дату создания, она остается прежней.
Установка свойства author работает.

Я попробовал подделать Excel с помощью этого метода, он работает.

Комментарии:

1. Вы пытались присвоить creationDate.ToOADate() свойству значение?

2. Да, к сожалению, это тоже не работает.

3. Согласно документам , вы должны использовать перечисление WdBuildInProperty для доступа к встроенным свойствам, что-то вроде BuiltInDocumentProperties[WdBuiltInProperty.wdPropertyTimeCreated].Value = creationDate.ToOADate()

4. Попробовал и это тоже, к сожалению, тоже не сработало. Но автор указан правильно, поэтому я не понимаю, почему не установлена дата создания…