2009-03-17 10 views
15

Supongamos que tengo un servidor habilitado para WebDAV, donde tengo un montón de documentos de Office. Me gustaría generar una página web que tenga un enlace al documento de manera que al hacer clic en el enlace se abra Microsoft Word. Word a su vez descargará el documento del servidor WebDAV, y cuando el usuario termine de editar el documento, MS Word lo cargará nuevamente.Cómo crear un enlace HTML que obligue a MS Word a editar documentos en el servidor webdav

Sé que MS Word (y otros programas de Office) admiten la edición de documentos almacenados en el servidor WebDAV. Lo que no sé es cómo generar un enlace que hará que MS Word descargue este documento por sí mismo.

¿Es posible? Tal vez usando algún esquema especial?

+0

puede comprobar si la respuesta de gciochina debería ser la respuesta seleccionada; así es como funciona Firefox en Sharepoint cuando se abre un enlace. –

Respuesta

4

Por lo que recuerdo, la única forma de lograr esto es crear instancias explícitas de Word a través de ActiveX, y pasarle la URL para abrir.

Esto se puede hacer dentro de la página HTML (en la que necesitará IE), o usando una aplicación externa que luego necesitaría registrarse para un nuevo tipo mime (ver http://greenbytes.de/tech/webdav/rfc4709.html#rfc.section.B.1 para un ejemplo).

+0

Julian, como autor de la especificación, ¿probablemente sabe si hay clientes que soporten el montaje de Servidores Webdav listos para usar? –

+1

El cliente de Xythos sí. Y la especificación ya contiene el código para que suceda con el cliente de la carpeta web de Microsoft, Sería bueno tener una implementación coincidente para MacOS X; no debería ser demasiado difícil ... –

0

Encontré que Confluence puede hacer esto. Tienen un complemento especial de Firefox, pero debería funcionar bien con Internet Explorer.

De hecho, cuando empecé a jugar con él, resultó que IE no tener que abrir el documento directamente desde WebDAV. Parece que IE descargó la página, la pasó a MS Word, pero junto con la URL. MS Word puede entonces guardar el archivo de nuevo (bueno, a veces ve el archivo como de solo lectura, y no permite guardar de nuevo, pero permite cargarlo con un nombre diferente).

Investigando.

+0

Cuando dices "a veces ve el archivo como de solo lectura" ¿llegaste a esto? He publicado otra pregunta sobre un problema similar: http://stackoverflow.com/questions/2999450/ms-word-opens-documents-hosted-on-webdav-share-read-only-on-windows-vista-and -7-b – rjmunro

+0

@rjmunro: desafortunadamente no ... no usamos la técnica ActiveX/plugins para abrir MS Word después de todo. –

11

Confluence utiliza el método EditDocument del control ActiveX de SharePoint.OpenDocuments.

Ejemplo en Javascript:

new ActiveXObject("SharePoint.OpenDocuments.1").EditDocument("http://example.com/test.doc") 
+0

Esto funcionó como un encanto para nosotros con IE6/IE8 – akiro

+3

¿alguna idea de cómo usar thin en FF o Chrome? –

33

Ummm, también se podría usar algo como esto:

<a href="ms-word:ofe|u|http://some_WebDav_enabled_address.com/some_Word_document.docx">Open Document in Word</a> 

La diferencia con respecto a las respuestas anteriores es que esto ya no requeriría ActiveX y funcionará al menos en IE 8+, Chrome y Firefox, siempre que se abra desde una máquina con Windows, para Office 2010+ (aunque no está 100% seguro de esto).

Explicación: la pieza ms-word:ofe es un protocolo que se instala en el equipo cliente cuando se instala Office. No sé exactamente qué hace la parte |u|.

+5

Esta es la única solución sensata hoy en día y debería ser la respuesta aceptada. El u es el descriptor del argumento por cierto y contiene más información sobre el comando (ofe - 'open for edit' en este caso). Hasta donde yo sé, siempre eres tú, sin embargo. – bstenzel

+4

Está documentado aquí: https://msdn.microsoft.com/en-us/library/office/dn906146.aspx –

+2

¿Cómo esta respuesta no está marcada como la respuesta aceptada? –

Cuestiones relacionadas