Я использую C # и Microsoft.Office.Interop.Word для выполнения следующих действий
- Открыть документ
- Обновить содержимое документа
- Сохраните и закройте документ
Это прекрасно работает, если документ открывается с использованием этого метода, где FileName является именем файла, AddToRecentFiles имеет значение false, а все остальное отсутствует. Значение
Document Open(
[In] ref object FileName,
[In, Optional] ref object ConfirmConversions,
[In, Optional] ref object ReadOnly,
[In, Optional] ref object AddToRecentFiles,
[In, Optional] ref object PasswordDocument,
[In, Optional] ref object PasswordTemplate,
[In, Optional] ref object Revert,
[In, Optional] ref object WritePasswordDocument,
[In, Optional] ref object WritePasswordTemplate,
[In, Optional] ref object Format,
[In, Optional] ref object Encoding,
[In, Optional] ref object Visible,
[In, Optional] ref object OpenAndRepair,
[In, Optional] ref object DocumentDirection,
[In, Optional] ref object NoEncodingDialog,
[In, Optional] ref object XMLTransform
);
Проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы обработка молчала, то есть я не хочу показывать приложение пользователю. Это легко сделать, допустив, чтобы Visible был ложным.
Однако если я установлю для Visible значение false, обновлю, сохраню и закрою документ, то при следующем открытии документа он будет открыт в черновом режиме. Я не хочу менять режим просмотра при обновлении документа. Если мой документ находился в режиме Print Layout до того, как моя программа обработала его, я хочу, чтобы он оставался в режиме Print Layout при следующем открытии.
Где я сейчас нахожусь, у меня есть два варианта:
Откройте документ с помощью visible = true и сохраните режим просмотра.
Откройте документ с помощью visible = false и всегда устанавливайте режим просмотра на черновик.
Есть ли у кого-нибудь третий вариант для меня, который позволяет мне обновлять содержимое документа, не отображая пользователю слово приложение?