在 Office 加载项中查找当前主机
Find current host in Office add-in
我想知道我的加载项是 Word 中的 运行、Excel 还是 Powerpoint。我需要一个适用于桌面版应用程序的解决方案(但最好也适用于在线版)。
这有可能吗?
我问的原因有两个:
- 我想用主机应用程序的颜色设置加载项应用程序的样式。
- 我将文档提交给网络服务。我也想提供一个文件名,并且需要知道我是否应该使用 .docx、.xlsx 或 .pptx 作为后缀。
没有直接的方法来确定当前主机。我也不鼓励首先走 "single manifest, multiple hosts" 路径。随着 API 的成熟,越来越多的功能变得特定于主机。最明显的例子是 ExcelAPI and WordAPI。
这并不是说您应该构建多个 Web 应用程序,只是说您应该维护多个清单。每个清单都可以指定一个不同的 "landing page",您可以在其中进行一些会话级设置,告诉应用程序的其余部分它也在与哪个主机通话。
这种方法的另一个好处是您可以更有选择性地选择您声明的加载项命令以及它们在功能区中的显示位置。在某些情况下,您可能在 Excel 中拥有可用的功能,但在 Word 或 PowerPoint 中根本不会显示。
我想知道我的加载项是 Word 中的 运行、Excel 还是 Powerpoint。我需要一个适用于桌面版应用程序的解决方案(但最好也适用于在线版)。
这有可能吗?
我问的原因有两个:
- 我想用主机应用程序的颜色设置加载项应用程序的样式。
- 我将文档提交给网络服务。我也想提供一个文件名,并且需要知道我是否应该使用 .docx、.xlsx 或 .pptx 作为后缀。
没有直接的方法来确定当前主机。我也不鼓励首先走 "single manifest, multiple hosts" 路径。随着 API 的成熟,越来越多的功能变得特定于主机。最明显的例子是 ExcelAPI and WordAPI。
这并不是说您应该构建多个 Web 应用程序,只是说您应该维护多个清单。每个清单都可以指定一个不同的 "landing page",您可以在其中进行一些会话级设置,告诉应用程序的其余部分它也在与哪个主机通话。
这种方法的另一个好处是您可以更有选择性地选择您声明的加载项命令以及它们在功能区中的显示位置。在某些情况下,您可能在 Excel 中拥有可用的功能,但在 Word 或 PowerPoint 中根本不会显示。