thinkcell API

  1. Home
  2. 资源
  3. 用户手册
  4. thinkcell API

在 Windows 上,您可以通过 thinkcell API 对部分 thinkcell 功能进行编程。本附录概述所有可用的 API 函数,并提供有关设置开发环境的一般说明,帮助您编写可访问这些函数的宏、加载项或独立程序。

开始使用 thinkcell API

仅限 Windows

thinkcell API 集成到 Microsoft 的组件对象模型 (COM) 中,因此您可以使用任何能够为 Office 编程的语言访问该 API,例如 Visual Basic for Applications (VBA) 或 C#。

thinkcell 的入口点是 thinkcell 加载项对象。可通过 Application.COMAddIns 集合访问它。对 thinkcell 的调用始终采用后期绑定,因此无需添加类型库或引用。有关 Automation 中早期绑定和后期绑定的说明,请参阅 Microsoft Learn。

某些 API 函数是 PowerPoint 中 thinkcell 加载项对象的方法,另一些 API 函数是 Excel 中 thinkcell 加载项对象的方法。我们使用 tcPpAddIn 表示对 PowerPoint 加载项的引用,使用 tcXlAddIn 表示对 Excel 加载项的引用。

Visual Basic for Applications

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

要表明对 thinkcell 加载项的方法调用采用后期绑定,需要将包含其引用的变量声明为 Object:

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

默认情况下,Office 宿主应用程序的类型库始终会被引用。如果需要访问其他 Office 应用程序的对象模型,则需要将其类型库添加为引用。

例如,如果您想在 PowerPoint 中使用宏,在从 Excel 工作表更新 thinkcell 图表之前先操作其中的数据,则需要在 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 宿主应用程序的 thinkcell 加载项对象,即 tcPpAddIn 或 tcXlAddIn,具体取决于您是在 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# 使用 thinkcell API。

以下内容假定您使用 Visual Studio 2017 或更高版本通过 C# 开发 Office 解决方案。有关加载项开发的更具体设置说明,请参阅下一节。对于我们的每个代码示例,我们都会注明应使用哪个 Visual Studio 项目模板。

要对 thinkcell 加载项对象进行后期绑定方法调用,请将包含 thinkcell 加载项对象引用的变量声明为 dynamic;当将引用声明为 var 时,这也是编译器推断出的类型,因此您可以直接这样编写:

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

此处 ppapp 是对已加载 thinkcell 的 PowerPoint Application 对象的引用。

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

例如,要能够按上述方式获取 thinkcell 加载项对象的引用,您需要添加 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 版本的对象模型中,使用此引用编译的应用程序就能向后(和向前)兼容这些版本。更多信息请参阅此处。

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

加载项开发

要为 Office 开发加载项或为 Office 文档开发代码扩展,请使用 PowerPoint/Excel VSTO Add-in 和 Excel 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 应用程序的对象模型,需要按上述说明将其类型库添加为引用。

注意:thinkcell 的 API 无法用于 Office Web 加载项——Microsoft 现在遗憾地将其简称为“Office 加载项”——因为它们无法直接与 Office 应用程序的对象模型交互,尤其无法与 thinkcell 等 COM 加载项交互。

API 参考

仅限 Windows

在 Windows 上,你可以使用以下 API:

使用 Excel 数据实现自动化

使用 Excel 中的数据自动更新 PowerPoint 模板中的 thinkcell 元素。要了解更多信息,请参阅 使用 Excel 数据实现自动化。

API

说明

手册主题

PresentationFromTemplate

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

PresentationFromTemplate

UpdateBatch

更新 PowerPoint 模板中的指定 thinkcell 元素,无论它们是否链接到 Excel

UpdateBatch

UpdateChart(已弃用)

使用 Excel 中的数据更新 PowerPoint 模板中的 thinkcell 元素。UpdateBatch 已取代 UpdateChart。

UpdateChart (已弃用)

样式文件

加载、查看和移除 thinkcell 样式文件。要了解更多信息,请参阅 样式文件。

API

说明

手册主题

LoadStyle

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

加载样式文件: LoadStyle

LoadStyleForRegion

加载样式文件,使其仅应用于幻灯片版式中的特定区域

将样式文件加载到版式的某个区域: LoadStyleForRegion

GetStyleName

返回幻灯片母版或幻灯片版式中当前启用的样式文件名称

查看样式文件的名称: GetStyleName

RemoveStyles

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

移除版式中的所有样式文件: RemoveStyles

Mekko Graphics 图表

将 Mekko Graphics 图表导入 thinkcell 并进行检查。要了解更多信息,请参阅 导入 Mekko Graphics 图表。

API

说明

手册主题

ImportMekkoGraphicsCharts

将 PowerPoint 中的 Mekko Graphics 图表替换为 thinkcell 图表

ImportMekkoGraphicsCharts

GetMekkoGraphicsXML

提取 Mekko Graphics 图表的 XML 定义

GetMekkoGraphicsXML

需要排查问题吗?

查看我们的知识库