think-cell API

  1. Home
  2. 资源
  3. 用户手册
  4. think-cell API

在 Windows 上,您可以通过 think-cell API 对某些 think-cell 函数进行编程。本附录包含所有可用 API 函数的概述,以及关于设置开发环境的一般说明,以便编写能访问这些函数的宏、加载项或独立程序。

开始使用 think-cell API

仅限 Windows

think-cell API 已集成到 Microsoft 的组件对象模型 (COM) 中,因此您可以通过能对 Office 编程的任何语言(例如 Visual Basic for Applications (VBA) 或 C#)访问 API。

think-cell 的入口点是 think-cell 加载项对象。可以通过 Application.COMAddIns 集合对其进行访问。调用 think-cell 始终采用后期绑定,因此没有要添加的类型库或引用。有关在自动化中使用初期绑定和后期绑定的说明,请参阅 Microsoft Learn

一些 API 函数是 think-cell 加载项对象在 PowerPoint 中的方法,另一些 API 函数则是 think-cell 加载项对象在 Excel 中的方法。我们使用 tcPpAddIn 作为对 PowerPoint 加载项的引用,并使用 tcXlAddIn 作为对 Excel 加载项的引用。

Visual Basic for Applications

若要使用 Visual Basic for Applications (VBA) 编写宏,您可以使用集成到 Office 主机应用程序的开发环境。可以按 Alt+F11 进行访问。宏的定义通常包含在一个模块中,您可以通过“Insert”>“Module”进行添加。您可以按 Alt+F8 查看为给定文件定义的所有宏。

若要指出调用 think-cell 加载项的方法为后期绑定,您需要将包含对其引用的变量宣布为 Object

Dim tcaddin As Object 
Set tcaddin = Application.COMAddIns("thinkcell.addin").Object

默认情况下,始终引用 Office 主机应用程序的类型库。如果您需要访问另一个 Office 应用程序的对象模型,您需要将其类型库添加为引用。

例如,如果您使用宏在 PowerPoint 中修改 Excel 表格内的数据,之后再从表格中更新 think-cell 图表,您需要通过 VBA 开发环境的“Tools”>“References”对话框手动添加 Microsoft Excel 16.0 Object Library

注释:16.0 是 Office 2016 和更新版本的版本号。对于 Office 2013,需要使用 15.0 对象库。如果您安装了多个版本的 Office,“References”对话框将会只显示安装的最新版本的对象库。在以下内容中,我们将假设您使用的是 Office 2016 或更新版本。

使用 Application.COMAddIns("thinkcell.addin").Object 始终能让您获得当前 Office 主机应用程序的 think-cell 加载项对象,即 tcPpAddIntcXlAddIn,具体取决于您是在 PowerPoint 或 Excel 中使用。若要获取其他 Office 应用程序中的加载项对象引用,并访问其所揭示的 API 函数,请通过适当的应用程序实例获取它。

例如,从 PowerPoint 获取 tcXlAddIn 的引用:

Dim xlapp As Object
Set xlapp = New Excel.Application

Dim tcXlAddIn As Object
Set tcXlAddIn = xlapp.COMAddIns("thinkcell.addin").Object

请注意,这需要将 Excel 对象库添加为引用。

我们建议使用强制显式说明所有变量的 Option Explicit 陈述,从而帮助避免常见的编程错误,并改进 IntelliSense 提供的建议。您可以通过激活“Tools”>“Options”>“Code Settings”>“Require Variable Declaration”,将其自动添加到所有模块中。它包含在我们的所有代码示例中。

C#

在开发 Office 主机应用程序内运行的加载项和文件代码扩展时,以及在部署独立应用程序时,您都可以使用 C# 的 think-cell API。

我们将在以下部分中假设,您在使用 Visual Studio 2017 或更新版本来在 C# 中开发 Office 解决方案。请参阅下一节,了解关于加载项开发的具体设置说明的更多信息。我们将在每个代码示例中指出要使用哪个 Visual Studio 项目模板。

若要使调用 think-cell 加载项对象的方法为后期绑定,请宣布包含 think-cell 加载项对象的引用为 dynamic;这也是在宣布引用为 var 时编译程序推断的类型,这样您只需编写即可:

var tcPpAddIn = ppapp.COMAddIns.Item("thinkcell.addin").Object;

在这里,ppapp 是加载了 think-cell 的 PowerPoint Application 对象的引用。

若要访问 Office 应用程序的对象模型,您需要将其类型库或其主互操作程序集 (PIA) 添加为您的项目的引用。如有可能,我们建议添加类型库,因为如果有可用的 PIA,Visual Studio 会自动添加对应 PIA 的引用,或如果没有可用 PIA,Visual Studio 会从类型库生成互操作程序集(参阅此处)。

例如,为了能够获得上述 think-cell 加载项对象的引用,您要添加“Reference Manager”对话框的“COM”>“Type Libraries”选项卡中发现的 Microsoft PowerPoint 16.0 Object Library。根据您的项目类型,可以通过右键单击 Solution Explorer 中的“References”或“Dependencies”并选择“Add (COM) Reference”来访问此对话框。

注释:16.0 是 Office 2016 和更新版本的版本号。通过使用“Embed Interop Types”选项(该选项默认启用)以引用 COM 类型库,只要所使用的接口存在于其对象模型中,则使用该引用进行编译的应用程序将向后(和向前)兼容 Office 的其他版本。如需更多信息,请参阅此处

think-cell 的 API 函数使用 COM HRESULT 指示错误。其中一些会自动映射到对应的 .NET 异常类上,请参阅如何:映射 HRESULT 和异常

加载项开发

若要开发 Office 加载项或 Office 文件代码扩展,您可以使用 PowerPoint/Excel VSTO Add-inExcel VSTO Template/Workbook 项目模板。这些是作为默认配置的一部分而安装的 Office Developer Tools for Visual Studio 的一部分。如果这些工具和模板在您的 Visual Studio 安装中不可用,您可以通过以下方式添加它们,例如,转到“Settings⚙ > Apps > Visual Studio 2022 > Modify > Other Toolsets”,勾选“Office/SharePoint development”并单击“Modify”。另请在此处此处参阅 Microsoft 文档。

选定模板的 Office 主机应用程序的 PIA 始终默认加载。如果您需要访问另一个 Office 应用程序的对象模型,您需要按照上面的说明将其类型库添加为引用。

注释:think-cell 的 API 无法从 Office Web 加载项使用(遗憾的是,Microsoft 现在简单地将其称为“Office 加载项”),因为它们无法与 Office 应用程序的对象模型直接进行互动,尤其是无法与 think-cell 等 COM 加载项进行互动。

API 引用

仅限 Windows

在 Windows 上可以使用以下 API:

使用 Excel 数据实现自动化

使用 Excel 中的数据自动更新 PowerPoint 模板中的 think-cell 元素。如需更多信息,请参阅 使用 Excel 数据实现自动化

API

描述

手册主题

PresentationFromTemplate

创建 PowerPoint 模板的副本,并更新复制的演示文稿中链接到 Excel 工作簿的所有 think-cell 元素

PresentationFromTemplate

UpdateBatch

更新 PowerPoint 模板中的特定 think-cell 元素,无论它们是否链接到 Excel

UpdateBatch

UpdateChart(已弃用)

使用 Excel 中的数据更新 PowerPoint 模板中的 think-cell 元素。UpdateBatch 取代了 UpdateChart

UpdateChart(已弃用)

样式文件

加载、查看和移除 think-cell 样式文件。如需更多信息,请参阅 🛇样式文件

API

描述

手册主题

LoadStyle

在幻灯片母版或幻灯片布局中加载样式文件

🛇Load a style file: LoadStyle

LoadStyleForRegion

加载样式文件,使其仅适用于幻灯片布局的特定区域

🛇Load a style file in an area of the layout: LoadStyleForRegion

GetStyleName

返回在幻灯片母版或幻灯片布局中处于活动状态的样式文件的名称

🛇View the name of the active style file: GetStyleName

RemoveStyles

从幻灯片布局中移除所有样式文件

🛇Remove all style files active in a layout: RemoveStyles

Mekko Graphics 图表

将 Mekko Graphics 图表导入到 think-cell 并检查这些图表。如需更多信息,请参阅 导入 Mekko 图形图表

API

描述

手册主题

ImportMekkoGraphicsCharts

将 PowerPoint 中的 Mekko Graphics 图表替换为 think-cell 图表

ImportMekkoGraphicsCharts

GetMekkoGraphicsXML

提取 Mekko Graphics 图表的 XML 定义

GetMekkoGraphicsXML