Все примеры и реализации, которые я видел, используют некоторый тип кода, такой как:
//filePath is some path to a docx file
using (WordprocessingDocument wpd = WordprocessingDocument.Open(filePath, true))
{
//Do stuff here
}
, который требует, чтобы ваш файл был закрыт. Я хочу иметь возможность использовать операции Open XML SDK с уже открытым документом, потому что я хочу делать что-то, пока пользователь активно просматривает документ, и мне не обязательно его сохранять.
Возможно ли это? Я понимаю, что Word, вероятно, блокирует документ, если он открыт, поэтому вы не можете открыть файл (даже для чтения). Есть ли способ обойти это?
Было бы здорово, если бы я мог как-то использовать Open XML SDK для уже открытых документов. У меня была одна идея: временно сохранить уже открытый файл и запустить материал OpenXML во временном файле и каким-то образом согласовать его с существующим документом с помощью Office API. Я не продумал этот подход, но это не идеальный способ, которым я бы хотел это сделать.
Мне также известно свойство в API Word, которое возвращает строку XML, выполнив Word.Range.XML
. Однако я не уверен, как загрузить это строковое значение в SDK, чтобы использовать его методы, чтобы помочь мне.