发布于2026-07-22 阅读(0)
扫一扫,手机访问
从 Office XP 开始,微软就悄悄给 Office 套件加了个“远程协作”的能力——通过 WebDA V 协议(HTTP 的扩展)直接编辑服务器上的文件。这个功能其实一直摆在那里,但真正用起来的人并不多,直到今天回头看,依然觉得它很实用。
拿 IIS 6.0 来说,它原生就支持 WebDA V,在 IIS 管理器的“Web 服务扩展”里就能找到对应的选项。只要把这个扩展启用,再建一个虚拟目录,比如叫 test,里面放一个 Word 文档 a.doc,然后打开 Word,选择“文件 → 打开”,输入这个文档的 URL(比如 http://localhost/test/a.doc),修改一下内容再保存——你会发现,文档已经被直接保存回服务器上了。整个过程就像编辑本地文件一样丝滑。
更进一步的玩法,是在浏览器里通过 Ja vaScript 调用 Word.Application 对象来打开和编辑服务器上的文档。下面是一个典型的代码片段:
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 并编辑远程文档,兼容性更好一些。下面是一个封装好的函数:
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;
}
}
var result = __OpenDocuments.EditDocument( url , "Word.Document" );
if( result == false )
{
alert( "无法打开文档." );
}
}
可以看到,基于 IIS 的 WebDA V 支持,实现 Office 文档的在线编辑非常简单。但这里有一个绕不开的问题:文档通常存放在文件系统的目录里,而很多业务系统却把文档存在数据库中。那么,如何让 WebDA V 配合数据库来工作呢?经过大量尝试,找到了解决方案。这部分内容将在下一篇中介绍。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8