[作者:kaneboy,来源:博客堂]

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

转载于:https://www.cnblogs.com/QuitGame/archive/2005/03/08/114997.html

[ZZ]如何在Web页面上直接打开、编辑、创建Office文档相关推荐

  1. 如何在Web页面上直接打开、编辑、创建Office文档 (转载)

    有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人 ...

  2. web使用openoffice实现在线预览office文档

    最近搞web项目,使用框架struts+spring+jpa实现,做到项目里面一个在线预览功能,试过无数的方法,最后得到了一个非常使用的方法,这方法也是我看过多篇博客的出来的,仅限参考. 效果图如下: ...

  3. pageoffice 骑缝章_pageoffice实现网页打开编辑保存word文档(基于SSM框架)

    pageoffice是一款网页集成word.excel...等office工具 并不免费,但可以试用练习 SSM框架搭建过程就省略了 注意:由于谷歌/火狐升级,不支持插件嵌入,建议使用POBrowse ...

  4. linux上php读取和创建word文档

    总结下本人在日常工作中使用php操作word的一些实战. 方法一:利用php com模块.也即利用word提供的本地api,所有只适用于windows系统上. [php] view plaincopy ...

  5. c#web页面显示弹窗_C#监听IE文档加载完成、弹窗、JS弹窗、页面跳转

    这个Demo在早段时间有个网友需要做一个相关方面的软件,我给做出来的.很方面,在JS弹窗监听上耗了不少时间.现在均已解决!请勿用作非法商业用途,该软件产生的后果与作者本人无关,特此声明. 由于需要对H ...

  6. 基于WEB的Office文档打印——浏览器中静默打印Word文档

    web应用开发中,如何集成Office文档打印功能,并不是一个容易实线的问题.现在有了打天下web打印插件,仅以几行JS代码就可以让你将Office打印功能集成到你的Web项目中. 引入PrintWo ...

  7. python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据

    这个例子展示了如何使用Python完成同样的事情--在web页面上显示提交的数据. 环境配置: win10.Anaconda3 问题: 1.在安装Anaconda3的时候出现了很多问题,经建议安装旧版 ...

  8. 如何把python可视化到前端_python数据可视化的效果如何在web页面中展示_北京可视化股票...

    有什么APP可以展示可视化的任务进度 可视化任务进度软件,使用敬业签,具体可视有事项开始时间,进度及人.还有结束时间以及人员处理速等等,更多功能如下: 1.敬业签是一款功能比较全面的桌面便签软件,分为 ...

  9. java web统计报表_用Java在Web页面上输出统计图 统计报表

    用Java在Web页面上输出统计图 河南省焦作水利局 聂春生 在Internet 和Intranet 的应用中,数据库和Web 技术的结合是传统MIS 系统移植到Internet(Intrant) 环 ...

最新文章

  1. 解决安卓SDK更新dl-ssl.google.com无法连接的方法
  2. C语言百度翻译API的使用,c语言怎么翻译? 程序怎么运行?
  3. 基于python + tushare 的股票盯盘脚本
  4. QueryList 配置curl参数 的文档位置 QueryList抓取https 终于找到了
  5. 【java】求两个字符串的最长公共子串
  6. Java数组– java.util.Arrays
  7. 玩转地图投影公式,通过例题对兰伯特投影与墨卡托投影求取正反解
  8. CorelDRAW2022新版本序列号 cdrx8安装向导教程
  9. Web基础配置篇(八): 远程操作工具、命令的介绍、安装及基本使用
  10. 自动登录QQ邮箱程序代码
  11. 地下城游戏 骑士拯救公主 | leetcode 174
  12. Python教程:利用百度API进行批量图片OCR识别
  13. 美国弗吉尼亚大学计算机科学,弗吉尼亚大学UVa计算机科学Computer Science专业排名第201-250位(2021年THE世界大学商科排名)...
  14. Linux中awk后面的RS, ORS, FS, OFS 用法
  15. UPC Haywire(模拟退火 || 随机数法)
  16. 机器学习一脸懵笔记【05】概率论
  17. 乘法/积运算和符号(点乘/内积/数量积,叉乘/向量积,矩阵乘法,Hadamard, Kronecker积,卷积)一网打尽
  18. 408真题-解析-2014年计算机考研真题解析
  19. 手机查看正在运行的服务
  20. 如何加密/弄乱C源代码

热门文章

  1. 【大学课程】计算机组成原理知识点
  2. 软考考后常见问题汇总
  3. 信息系统项目管理师需要准备多久?备考技巧分享
  4. 笔记-项目质量管理-复习要点
  5. 整理了十个Python自动化操作
  6. 信息系统项目管理师-组织级、流程管理核心知识点思维脑图
  7. Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
  8. ASP.NET中WebForms简介与搭建HelloWorld项目
  9. 从实例入手学会BeautifulSoup的常用方法
  10. Eclipse中导入Maven项目后没有run on server