有朋友询问如何在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。
分享到:
相关推荐
### 如何在Web页面上直接打开、编辑、创建Office文档 在现代办公环境中,能够直接在Web页面上打开、编辑甚至是创建Office文档是一项非常实用的功能。这种能力不仅可以提高工作效率,还能增强用户的工作体验。本文将...
### Java Web Office 文档在线编辑知识点详解 #### 一、项目背景与意义...综上所述,Java Web Office文档在线编辑系统的实现涉及到多个技术点,通过合理的架构设计和技术选型,可以有效地满足实际需求,提高办公效率。
点聚WebOffice是一款在线文档处理工具,它作为一个Web编辑插件,允许用户在网页环境中直接打开、编辑、创建和保存Microsoft Office格式的文件,如Word文档和Excel表格。这款插件极大地提升了网页应用的交互性和功能...
在这个"ASP.NET在线打开Office 文件实例"中,我们将探讨如何利用ASP.NET实现用户在Web浏览器中直接预览和编辑Office文档,如Word、Excel和PowerPoint等。 首先,我们要理解Web Apps或Office Online的概念。Web Apps...
WebOffice是一款在线文档处理工具,它允许用户在Web浏览器中创建、编辑和查看各种文档格式,如Microsoft Office的DOC、XLS、PPT等。PHP是Web开发中广泛使用的脚本语言,通常用于构建动态网站和服务器端应用程序。在...
WebOffice是一款由北京点聚信息技术有限公司开发的文档处理软件,主要用于在线编辑和管理Office文档。它提供了丰富的开发接口(SDK),以便开发者可以将其集成到自己的应用中,实现文档的在线查看、编辑等功能。本...
Weboffice是一款用于在Web环境中创建、编辑和预览文档的软件,它提供了与Microsoft Office高度兼容的在线办公功能。对于Asp.net开发者来说,Weboffice提供了一个强大的工具,可以集成到他们的Web应用中,使得用户...
而PageOffice则是一款强大的Java组件,能够无缝嵌入Web应用,提供在线编辑、创建和预览Office文档的能力。 首先,我们需要在SpringBoot项目中引入PageOffice的依赖。这通常通过在`pom.xml`文件中添加对应的Maven...
这些编辑器允许用户在Web页面上创建和编辑带有格式的文本,类似于Microsoft Word的界面。它们通常通过AJAX技术与服务器进行通信,提供实时的编辑体验。 4. **iWebOffice.ocx.jsp** `iWebOffice.ocx`看起来是一个...
2. **在线Word操作**:通过weboffice ocx控件,用户可以在浏览器中直接打开、编辑和保存Word文档,无需下载文件到本地,减少了数据泄露的风险。此外,它支持多人协作编辑,提高团队工作效率。 3. **OA办公系统集成*...
Office Web Apps 2013 是微软提供的一款在线版本的办公软件套件,它使得用户能够在Web浏览器中查看、编辑和共享Word、Excel、PowerPoint和OneNote文档。本安装配置文档主要涵盖如何在Windows环境中安装和配置Office ...
在现代的Web应用程序中,提供在线预览功能已经成为一种常见的需求,尤其是对于处理Office文档(如Word、Excel、PowerPoint)来说。用户希望能够无需下载文件就能查看内容,从而提高工作效率和用户体验。本篇文章将...
4. **文档预览和编辑**:OWA服务支持实时预览和编辑功能,这意味着用户可以在Web页面上直接打开文档,而无需下载和使用本地的Office应用程序。示例程序可能会演示如何调用这些功能,以及如何处理保存和同步更新。 5...
NTKO OFFICE文档控件是一种专门用于集成Microsoft Office(如Word和Excel)功能于Web页面和Windows窗体应用程序的技术。这个控件使得开发者无需离开网页或应用,就能直接在其中编辑、查看和处理Office文档,极大地...