2009-03-17 19 views
15

Supponiamo di disporre di un server abilitato per WebDAV, in cui sono presenti numerosi documenti di Office. Mi piacerebbe generare una pagina web che ha un link per documentare in modo tale che cliccando sul link si aprirà Microsoft Word. Word scaricherà a sua volta il documento dal server WebDAV e, quando l'utente termina la modifica del documento, MS Word lo caricherà di nuovo.Come creare un collegamento HTML che costringa MS Word a modificare il documento sul server webdav

So che MS Word (e altri programmi di Office) supportano la modifica di documenti memorizzati sul server WebDAV. Quello che non so, è come generare un link che attiverà MS Word per scaricare questo documento da solo.

È possibile? Forse usando qualche schema speciale?

+0

puoi verificare se la risposta di gciochina dovrebbe essere la risposta selezionata - questo è il modo in cui ad esempio Firefox funziona in Sharepoint quando viene aperto un collegamento. –

risposta

4

Per quanto ricordo, l'unico modo per ottenere ciò è di istanziare esplicitamente Word tramite ActiveX e passarlo all'URL da aprire.

Questa operazione può essere eseguita all'interno della pagina HTML (in cui sarà necessario IE) o utilizzando un'applicazione esterna che dovrà quindi essere registrata per un nuovo tipo mime (vedere http://greenbytes.de/tech/webdav/rfc4709.html#rfc.section.B.1 per un esempio).

+0

Julian, come autore di specifiche, probabilmente sai se ci sono client che supportano il montaggio di server WebDav fuori dalla scatola? –

+1

Il client Xythos lo fa. E la specifica contiene già il codice per farlo accadere con il client Webfolder di Microsoft, Sarebbe bello avere un'implementazione corrispondente per MacOS X; non dovrebbe essere troppo difficile ... –

0

Ho trovato che Confluence può farlo. Hanno un plugin speciale per Firefox, ma dovrebbe funzionare bene con Internet Explorer.

Infatti, quando ho iniziato a giocare con lui, si è scoperto che IE fa in realtà l'apertura di documenti direttamente da WebDAV. Sembra che IE abbia scaricato la pagina, passata a MS Word, ma insieme all'URL. MS Word può quindi salvare il file (beh, a volte vede il file come di sola lettura e non consente di salvarlo, ma consente di caricare sotto un nome diverso).

Ancora in corso.

+0

Quando dici "a volte vede il file come di sola lettura" sei arrivato ovunque? Ho postato un'altra domanda su un problema simile: http://stackoverflow.com/questions/2999450/ms-word-opens-documents-hosted-on-webdav-share-read-only-on-windows-vista-and -7-b – rjmunro

+0

@rjmunro: sfortunatamente no ... non abbiamo usato la tecnica ActiveX/plugins per l'apertura di MS Word dopo tutto. –

11

Confluence utilizza il metodo EditDocument del controllo ActiveX SharePoint.OpenDocuments.

Esempio in Javascript:

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

Questo ha funzionato come un fascino per noi con IE6/IE8 – akiro

+3

qualsiasi idea di come usare il thin in FF o Chrome? –

33

Ummm, si potrebbe anche usare qualcosa di simile:

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

La differenza dalle risposte di cui sopra è che questo non sarebbe più bisogno di ActiveX e funzionerà almeno in IE 8+, Chrome e Firefox, purché sia ​​aperto da una macchina Windows, per Office 2010+ (non sicuro al 100% di questo però).

Spiegazione: la parte ms-word:ofe è un protocollo che viene installato sul computer client quando Office è installato. Non so esattamente cosa faccia la parte |u|.

+5

Questa è l'unica soluzione ragionevole al giorno d'oggi e dovrebbe essere la risposta accettata. U è l'argomento descrittore btw e contiene ulteriori informazioni sul comando (ofe - 'open for edit' in questo caso). Per quanto ne so, è sempre te, però. – bstenzel

+4

È documentato qui: https://msdn.microsoft.com/en-us/library/office/dn906146.aspx –

+2

In che modo questa risposta non è contrassegnata come risposta accettata? –

Problemi correlati