如何在Web页面上直接打开、编辑、创建Office文档

web|创建|页面

有朋友询问如何在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。

时间: 2024-07-29 06:27:33

如何在Web页面上直接打开、编辑、创建Office文档的相关文章

如何在Web页面上直接打开、编辑、创建Office文档_javascript技巧

如何在Web页面上直接打开.编辑.创建Office文档  有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法. 在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于"Program Files\Microsoft Office\OFFICE11\owssupp.d

Facebook邮箱可直接打开附件内Office文档

北京时间11月17日凌晨消息,Facebook刚刚发布的电子邮件系统整合了微软在线办公软件套装Office Web Apps,可直接打开附件中的Office文档. 分析人士称,Facebook电子邮件系统也许并未对谷歌Gmail构成正面冲击,但这并不意味着谷歌可以高枕无忧.该系统与Office Web Apps进行整合,使Facebook拥有了一套更为完善的商务工具,直接与谷歌企业应用套装Google Apps竞争. 微软IW News Bites博客称:"用户可以在Facebook邮箱内利用O

ASP.NET 如何在web页面上显示数据库表中的所有图片,求大神。。。。。

问题描述 在数据库表中存入图片的路径,想在页面中分类显示图片,不能预先设定存入图片的数量,所以用Image控件显示不合理,并不会自定义控件,还有没有其他的方法?求大神指点...... 解决方案 解决方案二: 解决方案三:你是指图片平铺展示那种形式吗?解决方案四:控件绑定的话用Repeat,模板里面就放img控件解决方案五: 解决方案六:用Repeat的话,具体是怎样的呢,新手,没用过解决方案七:Repeat跟datagridview还有datalist差不多不过分页和排序我记得是要自己来写的不像

Chrome OS系统默认开启Office文档编辑功能

  继在Chrome OS Dev中加入微软Office文档编辑功能之后,近日谷歌将这项原生功能在Chrome OS中默认开启,这项改变意味着Chrome OS用户将可以在谷歌这个基于浏览器的系统中直接编辑微软的Office文档. 这个最新的进展是由开发者兼谷歌Chromium开源传道者François Beaufort首先披露,他从Chromium代码方面揭示了这些变化.他在相关说明中还指出,Chrome OS中使用的技术是基于谷歌在2012年6月收购QuickOffice的,因此在未来Chr

MindManager内嵌浏览器无法编辑超链接的Office文档

  在MindManager思维导图中可以运用内嵌浏览器打开超链接的文档,与Office的兼容性使得可以超链接Office文档,但当出现MindManager内嵌浏览器无法编辑超链接的Office文档时该怎么办呢,本文为您做出解答. 问题描述:当打开超链接的 Office 文档时,例如 Excel, Word 或者 PowerPoint 时, 用户试图编辑文本, 该文件显示一个警告信息提示:该文件是只读文件.用户没有修改该文件的权限. 下列信息显示: Microsoft Excel: 表格中的格

如何在web页面实现打开文件对话框功能????

问题描述 求助,如何在web页面实现打开文件对话框功能?请高手帮帮忙! 解决方案 解决方案二:<inputtype=file....

使用CamanJS在Web页面上处理图像的技巧_jquery

你可能会想问既然CSS已经有现成的功能可以支持基础的图像操作了,为什么我们还会想要为此使用一个像这样的 JavaScript 库呢. 好吧,除了有浏览器的支持,使用 CamanJS 有许多的好处.它为我们操作图像提供了更多的过滤器和选项.你可以在你的图像中创建高级过滤器,进而控制其中的每一个像素.你可以使用其内置的混合模式和图层系统.而它也能让你进行图像的跨域操作,并可以对操作产生的图像进行保存. 现在,就让我们来开始探索 CamanJS 所提供的特性吧! 引入必要的文件 要开始使用 Caman

把当前web页面上的所有图片复制到特定目录

web|页面  把当前web页面上的所有图片复制到特定目录,比如C:\imgs\ 转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/ MoreQuick回复: thank,我也不是很精通这方面,不过插件可以用vbscript写的 麻烦你贴代码到论坛上,看是否有人会 thanks! -- Previous Private Message -- Sent by : edward Sent : 2005-03-18 at 7:53pm More

用VB将第三方控件打成CAB包(在WEB页面上使用)

web|控件|页面 用VB将第三方控件打成CAB包(在WEB页面上使用)由于工作的需要,笔者需要在WEB页面上显示CAD文件(在客户机器上不装CAD).由于时间紧迫,现写控件根本来不及,没办法在网上搜寻了一圈.找到了一个软件,大小大概有8兆左右.可以用来浏览DWG类型的文件.用了一下,发现其用的是一个DLL类型的控件,并带有两个附属的DLL文件. 如果要在WEB页面上使用控件,则控件需要打成CAB类型的包.上网找了一个打CAB包的工具,名字叫IExpress.不过如果用这个工具打包需要手工编写I