CN112269671A - 一种在网页中使用Office编程接口的方法 - Google Patents

一种在网页中使用Office编程接口的方法 Download PDF

Info

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
Application number
CN202011273525.4A
Other languages
English (en)
Other versions
CN112269671B (zh
Inventor
姜新华
刘绍军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Kinggrid Technology Co ltd
Original Assignee
Jiangxi Kinggrid Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangxi Kinggrid Technology Co ltd filed Critical Jiangxi Kinggrid Technology Co ltd
Priority to CN202011273525.4A priority Critical patent/CN112269671B/zh
Publication of CN112269671A publication Critical patent/CN112269671A/zh
Application granted granted Critical
Publication of CN112269671B publication Critical patent/CN112269671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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

一种在网页中使用Office编程接口的方法
技术领域
本发明涉及计算机内核浏览器技术,特别涉及一种在网页中通过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客户程序之间的联系。
CN202011273525.4A 2020-11-14 2020-11-14 一种在网页中使用Office编程接口的方法 Active CN112269671B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590116A (zh) * 2021-08-05 2021-11-02 江西金格科技股份有限公司 一种在OA系统中基于BS模式非嵌入式使用Office的方法

Citations (5)

* Cited by examiner, † Cited by third party
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的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
邓文亮: ""高兼容性WebOffice插件的研究与实现"", 《电脑与信息技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
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