轻松实现Word在线编辑

news/2024/11/27 1:41:46/
本文转载自: https://www.cnblogs.com/xgw2004058/archive/2009/07/28/1532993.html 作者:xgw2004058 转载请注明该声明。

原地址:http://blog.joycode.com/kaneboy/archive/2004/11/03/37889.aspx
有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。

在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)

首先,用Script创建一个本地的对象:

openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1”

然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:

openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");

openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:

openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc", 要激活的程序的ProgID);

那么要打开Office程序在线编辑文件又如何?

openDocObj.EditDocument("http://www.abc.com/documents/sample.doc");

就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录(即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。

我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:

openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");

就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。

CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。

注意:
Windows 2003由于缺省没开放WebDAV协议,限制了Office文档的保存.
开放WebDAV方法如下:
1.打开IIS6
2.打开Web Service扩展
3.选中WebDAV,右键,选Allowed


http://www.ppmy.cn/news/144970.html

相关文章

Java开发中Word转PDF文件5种方案横向评测

Java开发中Word转PDF文件5种方案横向评测 前段时间接了个项目,需要各种处理Word模板、转PDF、签章等等,非常头疼,其中光是一个word转PDF就折磨我好久,实现转换很简单,但是效果总是达不到满意,于是我把市面…

解析word文件的简单实现

一、了解word结构 文章:《Office文件格式基础知识》、《Anatomy of a WordProcessingML File》 office 97-03 office 97-03的存储规范为OLE。它是COM对象的子集,是一种对象链接和嵌入的技术,该技术可以包含文本,图形,…

word技巧

word 高效经典教程(整理版) 目录 一分钟驾驭word 高效经典教程(整理版)... 6 A、基础知识... 6 1、度量单位... 6 2、WORD中文字字号与磅的对应关系... 6 3、字体文件格式... 7 B、文本编辑... 7 1、快速移动文档... 7 2…

java读取word文档中的文字和图片,doc和docx兼容版

也是我东抄抄&#xff0c;西抄抄拿来测试改装的&#xff0c;话不多说&#xff0c;直接上代码 <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><depen…

EndNote20 for Mac 与搭载Apple M1芯片Mac版Word不兼容的解决方案(新发布的EndNote 20.1更新版可适配Apple M1)

2021年6月&#xff0c;EndNote20发布了EndNote 20.1更新版。该版本解决了与搭载Apple M1芯片的Mac版Word不兼容的问题。要升级EndNote 20.1&#xff0c;理论上&#xff0c;在启动EndNote20后会弹出升级界面&#xff0c;选择升级即可。或者&#xff0c;参考以下官网升级操作说明…

电脑计算机配置应用程序兼容性,电脑怎么打开兼容模式怎么办

1. windows7怎么开兼容模式 启用兼容模式就可以了,具体步骤如下: 1. 点击右下角“开始”菜单,单击“运行”,在弹出的对话框里键入“gpedit.msc”,单击“确定”。 2. 此时进入组策略编辑器界面,双击“计算机配置”,进入下一步骤。 3.找到“管理模板”选项,双击,进入下一…

32 位和 64 位版本的 Office 2010 之间的兼容性

32 位和 64 位版本的 Office 2010 之间的兼容性 Office 2010 摘要&#xff1a;针对处理 2GB 或更多数据的客户&#xff0c;Microsoft Office 2010 现在作为 64 位版本提供。本文讨论有关 32 位版本与新的 64 位版本和旧的 32 位 Office 应用程序之间兼容性的问题&#xff0c;并…

matlab 兼容,matlab版本兼容问题

解决Advisor在高版本matlab中无法运行的问题_机械/仪表_工程科技_专业资料。解决了Advisor2002无法在高版本运行的问题,我在Matlab2008a和2010上都运行成功!文档内容...... matlab安装解决措施完全版_计算机软件及应用_IT/计算机_专业资料。matlab Matlab7.0 安装问题总结 在安…