как открыть документ MS Word на стороне клиента, щелкнув ссылку на моей странице asp.net и передав ей данные

Я хочу открыть документ MS Word на стороне клиента, щелкнув ссылку на моей странице asp.net, затем заполнив документ текстом из текстовых полей внутри страницы, и после того, как пользователь сохранил документ, я могу получить ответ на делать мои вещи с ним.

каково ваше лучшее решение, чтобы сделать это?

Насколько я понял, OpenXML предназначен для управления документом на сервере, что не подходит для моей проблемы, у меня такая же проблема с Microsoft.Office.Interop.Word, который может создать текстовый документ, но он тоже на стороне сервера и не поможет.

Я могу создать какой-нибудь шаблон xml и использовать значения текстовых полей для передачи xml нужных данных с помощью java-скрипта, но проблема в том, что при использовании этого подхода файл просто загружается на стороне клиента, и я понятия не имею, что происходит тогда.
Мне нужно, чтобы MS Word был открыт, чтобы получить некоторые данные, затем закрыть и сообщить мне. Это вообще возможно?


person NTC    schedule 17.08.2014    source источник
comment
Не уверен, что вы спрашиваете. На самом деле вы манипулируете документом, потому что хотите, чтобы этот документ создавался на лету на основе некоторых данных, предоставленных пользователем (через TextBox или что-то еще)?   -  person EdSF    schedule 17.08.2014
comment
@EdSF Создание документа - не моя проблема, я могу сделать эту часть, манипулируя файлом xml и некоторым JavaScript, но он создаст документ, который можно только загрузить, когда пользователь использует этот документ, я не могу быть проинформирован. Я хочу предоставить ссылку, нажав на эту ссылку, MS Word начнет работать и позволит пользователю выполнять свою работу, но я хочу получать информацию о том, какие изменения были внесены в документ, и сохранять изменения на сервере после того, как пользователь закрыл MS Слово.   -  person NTC    schedule 18.08.2014


Ответы (2)


Попробуйте поместить макрос VBA в документ к событиям Document_Close. Конечно, пользователь должен сказать, что документу доверяют запускать события по мере его загрузки.

Но в событии Document_Close вы можете прочитать эти данные, которые были заполнены, предполагая, что это неполные поля или добавленные в закладки, а затем отправить эти данные обратно на сервер.

person user2903089    schedule 21.08.2014

В итоге я использую DocX. После того, как пользователь предоставил некоторые данные на странице и отправил их, я создаю документ на сервере, используя эту технологию.
И лучший способ обновить документ на сервере — использовать WebDAV, он добавляет в приложение именно те функции, которые мне нужны. MS Office имеет встроенную поддержку WebDAV и может быть легко настроен внутри IIS 7.5. Таким образом, пользователь может открывать/редактировать/сохранять документ на сервере с помощью своего собственного клиента MS Word, и после сохранения документ на сервере обновляется.

person NTC    schedule 28.08.2014
comment
Привет, Нима. Если у вас есть возможность подробно поделиться решением о том, как вы это сделали, если какой-то код может быть предоставлен, это будет большим подспорьем. Спасибо, - person Mohammad Azeem Ahmad; 09.11.2020