Как создать ссылку HTML, которая заставляет MS Word редактировать документ на сервере webdav
Предположим, что у меня есть сервер с поддержкой WebDAV, где у меня есть куча документов Office. Я хотел бы создать веб-страницу, которая имеет ссылку на документ, так что при нажатии на ссылку откроется Microsoft Word. Word, в свою очередь, загрузит документ с сервера WebDAV, а когда пользователь завершит редактирование документа, MS Word вернет его обратно.
Я знаю, что MS Word (и другие программы Office) поддерживает редактирование документов, хранящихся на сервере WebDAV. Я не знаю, как создать ссылку, которая заставит MS Word самостоятельно загрузить этот документ.
Возможно ли это? Может быть, с помощью какой-то специальной схемы?
Ответы
Ответ 1
Насколько я помню, единственный способ достичь этого - явно создать экземпляр Word через ActiveX и передать ему URL-адрес для открытия.
Это можно сделать внутри HTML-страницы (в которой ей нужен IE) или с помощью внешнего приложения, которое затем нужно будет зарегистрировать для нового типа mime (см. http://greenbytes.de/tech/webdav/rfc4709.html#rfc.section.B.1 для примера).
Ответ 2
Ummm, вы также можете использовать что-то вроде этого:
<a href="ms-word:ofe|u|http://some_WebDav_enabled_address.com/some_Word_document.docx">Open Document in Word</a>
Отличие от приведенных ответов заключается в том, что это больше не потребует ActiveX, и оно будет работать, по крайней мере, в IE 8+, Chrome и Firefox, если оно открыто с Windows-машины, для Office 2010+ (не 100 % уверен в этом, хотя).
Объяснение: часть ms-word:ofe
- это протокол, который устанавливается на клиентском компьютере при установке Office. Я точно не знаю, что делает часть |u|
.
Ответ 3
Confluence использует метод EditDocument элемента управления ActiveX SharePoint.OpenDocuments.
Пример в Javascript:
new ActiveXObject("SharePoint.OpenDocuments.1").EditDocument("http://example.com/test.doc")
Ответ 4
Я обнаружил, что Confluence может это сделать. У них есть специальный плагин Firefox, но он отлично работает с Internet Explorer.
Фактически, когда я начал играть с ним, оказалось, что IE действительно открывает документ непосредственно из WebDAV. Кажется, что если IE загрузил страницу, передал ее в MS Word, но вместе с URL. MS Word может затем сохранить файл обратно (ну, иногда он видит файл как доступный только для чтения и не позволяет сохранять обратно, но позволяет загружать под другим именем).
Продолжает расследование.