c # Word COMException (0x800A11FD) при добавлении нового поля в документ - PullRequest
0 голосов
/ 07 марта 2019

Я хочу добавить новое поле в список полей в документе.Я звоню Doc.Unprotect("secret");, чтобы иметь возможность добавить новое поле, потому что выбранный fieldText находится в protected документе.Когда вызывается метод Doc.Fields.Add, я получаю неопределенное COMException ниже.

Кто-нибудь знает, почему это происходит?

Doc.Unprotect("secret");
Doc.SetDocProperty(fieldKey, fieldText);
W.Field field = Doc.Fields.Add(app.Selection.Range, W.WdFieldType.wdFieldDocProperty, fieldKey, true);

Исключение:

Система.Runtime.InteropServices.COMException (0x800A11FD): команда недоступна.Microsoft.Office.Interop.Word.Fields.Add (диапазон, объект и тип, объект и текст, объект и формат сохранения)

1 Ответ

0 голосов
/ 07 марта 2019

Попробуйте использовать переменную вместо строки, и если это не сработает, убедитесь, что документ действительно защищен.Из документации :

Избегайте использования жестко запрограммированных паролей в своих приложениях.Если в процедуре требуется пароль, запросите пароль у пользователя, сохраните его в переменной, а затем используйте переменную в своем коде.

Если документ не защищен, возникает исключение.

...