ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 4734|回复: 0

[转帖]如何在Web页面上直接打开、编辑、创建Office文档.

[复制链接]
发表于 2006-1-10 17:48:43 | 显示全部楼层 |阅读模式
有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。<br>
<br>
在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)<br>
<br>
首先,用Script创建一个本地的对象:<br>
<br>
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1”<br>
<br>
然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:<br>
<br>
openDocObj.ViewDocument("<a target=_blank href=http://www.abc.com/documents/sample.doc&quot>http://www.abc.com/documents/sample.doc&quot</a>;);<br>
<br>
openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:<br>
<br>
openDocObj.ViewDocument("<a target=_blank href=http://www.abc.com/documents/sample.doc&quot>http://www.abc.com/documents/sample.doc&quot</a>;, 要激活的程序的ProgID);<br>
<br>
那么要打开Office程序在线编辑文件又如何?<br>
<br>
openDocObj.EditDocument("<a target=_blank href=http://www.abc.com/documents/sample.doc&quot>http://www.abc.com/documents/sample.doc&quot</a>;);<br>
<br>
就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录(即“<a target=_blank href=http://www.abc.com/documents>http://www.abc.com/documents</a>”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。<br>
<br>
我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:<br>
<br>
openDocObj.CreateNewDocument("<a target=_blank href=http://www.abc.com/documents/sampleTemplate.dot&quot>http://www.abc.com/documents/sampleTemplate.dot&quot</a>;, "<a target=_blank href=http://www.abc.com/documents/&quot>http://www.abc.com/documents/&quot</a>;);<br>
<br>
就可以使用“<a target=_blank href=http://www.abc.com/documents/sampleTemplate.dot>http://www.abc.com/documents/sampleTemplate.dot</a>”这个模版来创建一个新的文档,默认新文档的保存地点是“<a target=_blank href=http://www.abc.com/documents/>http://www.abc.com/documents/</a>”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。<br>
<br>
CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。<br>
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-3-29 02:20

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表