我已经阅读了所有的VSTO文档,首先浏览了大部分关于MSDN的Office外接程序(office.js)文档,但没有找到我问题的答案。
请你给我一个答案,如果可能的话,请指出我在MSDN的网页,回答我的问题?
问题
在客户端计算机没有安装Microsoft并且正在使用浏览器访问Office.js的情况下,他加载使用Office.js编写的Office外接程序,在这种情况下,托管COM对象的计算机及其所在的Office进程在哪里?
下面是我对使用Office.js外接程序所涉及的元素的理解:
Document、Bookmark、Range等对象的过程。我的问题是--对于没有在客户端计算机上安装MS Office的Online客户端,如果他们使用使用office.js编写的Office外接程序,那么这个过程在哪里?假设in只是调用我们已经知道的现有Office基础设施,我是否错了?如果我是对的,那么承载Winword.exe (或任何一个Office应用程序)进程的机器在哪里?
发布于 2017-07-29 04:39:01
要回答代码在何处执行的问题:根本不存在" COM“对象(新一波的Office.js API不是基于VBA对象,至少不是直接的)。但是确实有一个备份服务器,它打开了文档并在内存中。在Excel的情况下,Excel在线前端是一个相当“薄”的层,几乎所有的操作都由支持服务器执行。该服务器不直接运行EXCEL.exe,但它有一个类似于Excel的web服务(并且共享大量相同的底层C++代码),它以“无头”模式运行,每个文档都有一个实例。另一方面,对于Word,Word Online具有更多的业务逻辑,可以在本地执行,因此许多操作在浏览器上执行,并在空闲时间同步到服务器(非常像终端用户操作),但是仍然有一个支持服务器为在线前端提供适当的数据,并处理一些操作(例如,range.getOoxml()或image.getImage())。
希望这能有所帮助。
发布于 2017-07-28 18:31:54
Office外接程序(office-js)是利用特定库(office-js)便利外接程序和主机应用程序之间通信的Web应用程序。
由于这些外接程序只是Web应用程序,它们可以跨各种办公平台(Windows、web、Mac、iOS)工作。对于基于浏览器的Office版本,外接程序在iframe中显示.对于本地版本,它们托管在嵌入式浏览器中(IE11、Webkit等,具体取决于平台)。
外接程序由两个组件组成,一个XML清单和一个web应用程序。清单可以从多个位置直接从侧面加载到网络共享,加载到办公室商店。这个web应用程序被托管在你通常会托管的任何地方(我推荐Azure,但我有一点偏见)。它们从来不是由微软直接托管的。
https://stackoverflow.com/questions/45365834
复制相似问题