Office xp以後的版本支持經過webdav協議(http的擴展)直接編輯服務器上的文件。
IIS(6.0)支持webdav,這在IIS管理器的web服務擴展中能夠看到.利用IIS做爲webdav的服務器端,能夠很容易的實現office word,excel在線編輯.
能夠簡單的實驗一下:
確保IIS的webdav擴展安裝並被啓用了,創建一個虛擬目錄test,在其中放一個word文檔a.doc,而後打開word, 文件->打開->輸入word文檔的訪問url(http://localhost/test/a.doc),
修改一下文檔內容,保存一下,發生了什麼? 文檔被保存到服務器上了.
在IE中,能夠經過js建立Word.Application,來打開,修改服務器上的文檔. web
wApp = new ActiveXObject("Word.Application.11");
wApp.Visible = true ;
wApp.Documents.Open( url );
if( trackRevisions ){ //能夠實現痕跡保留呢
wApp.ActiveDocument.TrackRevisions = true ;
wApp.ActiveDocument.ShowRevisions = false ;
}else
{
wApp.ActiveDocument.TrackRevisions = false ;
wApp.ActiveDocument.ShowRevisions = false ;
}
wApp.ActiveDocument.Application.UserName= Global_CurrentUserName;
另外,安裝office時,會同時按裝一個ActiveX組件:Sharepoint.OpenDocuments,可麼用此組件來激活word,編輯服務器上的文檔:
var __OpenDocuments = null ;
function Document_Edit2( url )
{
if( __OpenDocuments == null )
{
try{
__OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.3"); //for office 2007
}catch(e){}
if( __OpenDocuments == null || typeof(__OpenDocuments) == "#ff0000" )
{
try{
__OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.2"); //for office 2003
}catch(e){}
}
if( __OpenDocuments == null || typeof(__OpenDocuments) == "undefined" )
{
alert( "請安裝Word(2003或更高版本)" );
return ;
}
}
// openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");, "Word.Document"
//openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");
var result = __OpenDocuments.EditDocument( url , "Word.Document" );
if( result == false )
{
alert( "沒法打開文檔." );
}
}
原文來自:http://www.6excel.com/doc/20032