CN112269671A - 一种在网页中使用Office编程接口的方法 - Google Patents
一种在网页中使用Office编程接口的方法 Download PDFInfo
- Publication number
- CN112269671A CN112269671A CN202011273525.4A CN202011273525A CN112269671A CN 112269671 A CN112269671 A CN 112269671A CN 202011273525 A CN202011273525 A CN 202011273525A CN 112269671 A CN112269671 A CN 112269671A
- Authority
- CN
- China
- Prior art keywords
- office
- ole
- container
- programming interface
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种在网页中使用Office编程接口的方法,包括OLE容器和包含OLE容器的Office中间件;网页通过Office中间件中的OLE容器启动Office应用程序,Office程序主窗口嵌入到OLE容器之中,Office编程接口通过OLE容器传递给Office中间件,进而传递给网页,因此网页可以通过JavaScript操纵Office编程接口。本发明将WEB技术与Office软件技术有机的结合起来,使用Office提供的可编程接口,开发协同办公软件的客户需求中经常要用到复杂的Office功能。
Description
技术领域
本发明涉及计算机内核浏览器技术,特别涉及一种在网页中通过JavaScript使用Office编程接口的方法。
背景技术
术语解释:
OA:办公自动化(Office Automation,以下简称OA)是将现代化办公和计算机技术结合起来的一种新型的办公方式。办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。在本文中特指基于WEB的协同办公自动化软件。
Office:Microsoft Office(以下简称Office)是微软公司开发的一套基于Windows操作系统的办公软件套装。常用组件有Word、Excel、PowerPoint等。MicrosoftOffice文件是指Word、Excel、PowerPoint等软件编辑后保存的文件。
Office 编程接口:一种可用于扩展 Office程序的简单且强大的编程语言。
OLE和OLE自动化:OLE(Object Linking and Embedding)是Microsoft公司为解决Windows下应用程序之间的通信问题而提出的。今天,OLE已演变为一种协议或规范,成为软件构件集成技术的基础。OLE自动化是一种在应用程序外操纵该应用程序对象的方法,利用OLE自动化能完成创建OLE自动化服务器、创建和操纵OLE自动化对象和创建OLE自动化控制器等任务。
ActiveX控件:可以看作是一个极小的OLE服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页。我们常用的IE浏览器就是典型的ActiveX容器,它可以浏览和使用WEB网页中嵌入的ActiveX控件。
随着通讯技术的不断发展,单一的个人办公软件已无法满足信息交流日益频繁的现代办公需求。传统的把Office文件编辑后通过邮件附件发送的方式,只能实现点对点文件共享,而将WEB技术与Office软件技术结合的模式,可以开发实现资源广泛共享、工作高效协同的办公软件。在现代协同办公软件的客户需求中经常要用到复杂的Office功能,Office虽然提供了可编程应用程序接口,但如何将Office可编程接口与WEB技术有机结合,则是当前亟待解决的技术问题。
发明内容
本发明的目的是提供一种在网页中使用Office编程接口的方法,能在网页中嵌入Office程序,能通过JavaScript使用Office编程接口,满足现代办公中资源共享、协同工作的信息交流需求。
本发明采用以下技术方案实现上述目的。一种在网页中使用Office编程接口的方法,其步骤如下:
1)通过OLE API启动Office程序,Office程序通过OLE API启动后成为OLE客户端,并嵌入到OLE容器中;
2)建立OLE容器:新建用以容纳Office程序窗口的WINIDOWS窗口,即:OLE容器窗口;OLE容器实现OLE服务器接口,即:OLE协议和规范定义的接口,用以跟嵌入其中的OLE客户的Office程序建立联系;
3)在OLE容器取得Office程序的IOleObject接口,通过Office的IOleObject接口,即:Office OLE 对象,并控制Office编程接口;
4)通过OLE容器把Office OLE 对象转换成IDispatch自动化接口,即:Office自动化编程接口;
5)建立包含上述OLE容器的ActiveX控件,即:Office中间件,把OLE容器窗口作为Office中间件的子窗口,通过控制Office中间件的窗口显示状态即可控制OLE容器窗口的显示状态,进而控制Office窗口的显示状态;
6)把OLE容器中的Office自动化编程接口作为IDispatch自动化类型的属性暴露出来,网页的JavaScript引擎可获得该IDispatch对象,从而操作Office编程接口。
进一步,所述OLE API是Microsoft提供的实现OLE自动化任务的一组编程接口,用于启动Office程序。
进一步,所述OLE协议和规范定义的接口,用于建立OLE容器和OLE客户程序之间的联系,
本发明中的OLE容器实现了OLE协议和规范定义中的IOleClientSite、IOleInPlaceSite、IOleDocumentSite、IOleInPlaceFrame、IOleCommandTarget等接口,把Office编辑器嵌入到网页中,嵌入到办公软件的体系中,可以实现文件的打开、编辑、保存、上传等系列化操作的一体化;可以实现文件列表的共享方式,而非单一点对点的文件传递;可以在工作流办公模式编辑文件和查看文件状态;可以把对Office文件的多个用户操作转化为对Office编程接口的调用,从而大大降低用户操作办公软件时,需对Office软件的熟悉了解程度。
附图说明
图1是本发明的系统结构框图;
图2是OLE容器、Office程序的关系图;
图3是系统工作流程图。
具体实施方式
以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。一种在网页中使用Office编程接口的方法,包括OLE容器和包含OLE容器的Office中间件;OLE容器启动Office程序,Office程序主窗口嵌入到OLE容器之中,OLE容器控制Office程序主窗口的显示状态,OLE容器获得Office程序的编程接口;建立Office中间件包含OLE容器, Office中间件通过OLE容器获得Office程序编程接口, Office中间件把Office应用程序编程接口转换为IDispatch类型的属性对外暴露;网页元素中引入Office中间件,通过JavaScript代码获取到Office中间件的Office应用程序编程接口,进一步操纵Office编程接口。
参见图1系统结构框图。浏览器在网页中加载Office中间件,浏览器的JavaScript可以访问Office中间件的ActiveX方法和属性;Office中间件会新建OLE容器,OLE容器通过OLE API启动Office应用程序;Office应用程序启动后,OLE容器获得Office应用程序得编程接口;Office中间件把OLE容器获得的Office编程接口,以IDispatch类型的属性暴露给网页JavaScript调用。
参见图2。OLE容器通过OLE API启动Office应用程序,创建OLE容器窗口;Office应用程序启动之后,会把界面窗口设置为OLE容器窗口的子窗口,OLE容器可以管理Office应用程序的窗口界面;Office程序启动之后,会产生Office的OLE对象,该OLE对象对外暴露IOleObject接口;根据OLE协议规范,为完成OLE对象的连接和嵌入,IOleObject接口必须从OLE容器对象中获取IOleClientSite、IOleInPlaceSite、IOleDocumentSite、IOleInPlaceFrame、IOleCommandTarget等接口的实例。
参见图3。网页浏览器的网页元素中加载Office中间件,Office中间件创建后立即创建OLE容器,创建OLE容器窗口用来容纳Office程序界面窗口,创建符合OLE协议规范的OLE容器对象用于链接和嵌入Office OLE对象;网页浏览器通过JavaScript调用Office中间件提供的Open方法,Office中间件调用OLE API启动Office程序打开Office文件;Office程序启动之后,Office程序界面窗口句柄设置为OLE容器窗口的子窗口;OLE容器对象通过Office OLE对象的IOleObject接口,建立Office OLE对象和OLE容器对象之间的嵌入与被嵌入关系;Office中间件通过Office OLE对象的IOleObject接口查询到IDispatch接口,此IDispatch接口就是Office编程接口;Office中间件把IDispatch接口作为ActiveDocument属性暴露出来,网页浏览器获得ActiveDocument即可操纵Office程序。
Claims (3)
1.一种在网页中使用Office编程接口的方法,其特征在于,步骤如下:
1)通过OLE API启动Office程序,Office程序通过OLE API启动后成为OLE客户端,并嵌入到OLE容器中;
2)建立OLE容器:新建用以容纳Office程序窗口的WINIDOWS窗口,即:OLE容器窗口;OLE容器实现OLE服务器接口,即:OLE协议和规范定义的接口,用以跟嵌入其中的OLE客户的Office程序建立联系;
3)在OLE容器取得Office程序的IOleObject接口,通过Office的IOleObject接口,即:Office OLE 对象,并控制Office编程接口;
4)通过OLE容器把Office OLE 对象转换成IDispatch自动化接口,即:Office自动化编程接口;
5)建立包含上述OLE容器的ActiveX控件,即:Office中间件,把OLE容器窗口作为Office中间件的子窗口,通过控制Office中间件的窗口显示状态即可控制OLE容器窗口的显示状态,进而控制Office窗口的显示状态;
6)把OLE容器中的Office自动化编程接口作为IDispatch自动化类型的属性暴露出来,网页的JavaScript引擎可获得该IDispatch对象,从而操作Office编程接口。
2. 根据权利要求1所述的在网页中使用Office编程接口的方法,其特征在于,所述OLEAPI是Microsoft提供的实现OLE自动化任务的一组编程接口,用于启动Office程序。
3.根据权利要求1所述的在网页中使用Office编程接口的方法,其特征在于,所述OLE协议和规范定义的接口,用于建立OLE容器和OLE客户程序之间的联系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011273525.4A CN112269671B (zh) | 2020-11-14 | 2020-11-14 | 一种在网页中使用Office编程接口的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011273525.4A CN112269671B (zh) | 2020-11-14 | 2020-11-14 | 一种在网页中使用Office编程接口的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269671A true CN112269671A (zh) | 2021-01-26 |
CN112269671B CN112269671B (zh) | 2023-07-07 |
Family
ID=74339030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011273525.4A Active CN112269671B (zh) | 2020-11-14 | 2020-11-14 | 一种在网页中使用Office编程接口的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269671B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590116A (zh) * | 2021-08-05 | 2021-11-02 | 江西金格科技股份有限公司 | 一种在OA系统中基于BS模式非嵌入式使用Office的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261584A (zh) * | 2008-04-24 | 2008-09-10 | 北京科翰软件有限公司 | 一种基于Office文档的表现层中间件系统 |
CN103064738A (zh) * | 2013-01-15 | 2013-04-24 | 珠海金山办公软件有限公司 | Linux下本地应用程序窗体嵌入浏览器的方法及系统 |
US20140214700A1 (en) * | 2013-01-31 | 2014-07-31 | CopyRightNow, LLC | CopyRightNow Application Programming Interface |
CN109634588A (zh) * | 2018-12-06 | 2019-04-16 | 安徽科大国创软件科技有限公司 | 一种兼容多浏览器的Office文档在线编辑方法和系统 |
CN110471716A (zh) * | 2019-08-20 | 2019-11-19 | 江西金格科技股份有限公司 | 在OA系统中非嵌入式使用Office的方法 |
-
2020
- 2020-11-14 CN CN202011273525.4A patent/CN112269671B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261584A (zh) * | 2008-04-24 | 2008-09-10 | 北京科翰软件有限公司 | 一种基于Office文档的表现层中间件系统 |
CN103064738A (zh) * | 2013-01-15 | 2013-04-24 | 珠海金山办公软件有限公司 | Linux下本地应用程序窗体嵌入浏览器的方法及系统 |
US20140214700A1 (en) * | 2013-01-31 | 2014-07-31 | CopyRightNow, LLC | CopyRightNow Application Programming Interface |
CN109634588A (zh) * | 2018-12-06 | 2019-04-16 | 安徽科大国创软件科技有限公司 | 一种兼容多浏览器的Office文档在线编辑方法和系统 |
CN110471716A (zh) * | 2019-08-20 | 2019-11-19 | 江西金格科技股份有限公司 | 在OA系统中非嵌入式使用Office的方法 |
Non-Patent Citations (1)
Title |
---|
邓文亮: ""高兼容性WebOffice插件的研究与实现"", 《电脑与信息技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590116A (zh) * | 2021-08-05 | 2021-11-02 | 江西金格科技股份有限公司 | 一种在OA系统中基于BS模式非嵌入式使用Office的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112269671B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7546576B2 (en) | Software framework for web-based applications | |
US7254786B2 (en) | System for transmitting and displaying icon resources group associated with remote application to a local computing system to facilitate virtualization of the remote application | |
US6701485B1 (en) | Binding spreadsheet cells to objects | |
CN1577358A (zh) | 处理与电子消息相联系的附属内容的系统和方法 | |
US20020138653A1 (en) | Workstation system, computer, data transfer method, data editing method, computer program generation method, computer program and storage medium | |
EP1701261A1 (en) | Dynamic service generation for legacy components | |
US7188345B2 (en) | Installation of data-driven business integration adapters | |
AU5184301A (en) | Human machine interface | |
CN113076096B (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
WO2006028783A2 (en) | Server-recorder macros and web application automation | |
US6654947B1 (en) | Method and system for creating dynamic interfaces using a general control container | |
JPH07287651A (ja) | コンピュータ・システムにおけるソフトウエア・ツールの実行自動化および制御方法 | |
CN112269671A (zh) | 一种在网页中使用Office编程接口的方法 | |
EP1506478B1 (en) | Exchange infrastructure system and method | |
US20010042108A1 (en) | Cool ice service handler | |
US5838971A (en) | Process for implementing dynamic data types in distributed computing networks using an OSF/DCE platform | |
CN113590116A (zh) | 一种在OA系统中基于BS模式非嵌入式使用Office的方法 | |
US6374247B1 (en) | Cool ice service templates | |
CN100424640C (zh) | 家庭网络中间件开发装置及其代码转换方法 | |
JP4776602B2 (ja) | コントローラ用のプログラミング装置、コントローラ及びコントローラ管理システム | |
US6662343B1 (en) | Cool ice automatic footer text on HTML pages | |
KR20030073001A (ko) | 웹사이트 제작을 위한 웹페이지 생성 및 편집방법 | |
US6411995B1 (en) | Cool ice workstation directory/file browser | |
CN113158628A (zh) | 一种改进word文档自动转pdf文档的新型方法 | |
CN1516010A (zh) | 一种准确控制外部程序的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 330096 15th floor, lvyue science and technology building, 579 torch street, high tech Zone, Nanchang City, Jiangxi Province Applicant after: Jiangxi Jinge Technology Co.,Ltd. Address before: 330096 15th floor, lvyue science and technology building, 579 torch street, high tech Zone, Nanchang City, Jiangxi Province Applicant before: JIANGXI KINGGRID TECHNOLOGY CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |