think-cell API
Windows では、think-cellAPI を通じていくつかのthink-cell関数をプログラムできます。この付録には、利用可能なすべての API 関数の概要と、これらの関数にアクセスするマクロ、アドイン、またはスタンドアロンプログラムを作成するための開発環境を設定するための一般的な手順が記載されています。
think‑cell API の使用を開始する
think-cell API は Microsoft の Component Object Model (COM) に統合されているため、Visual Basic for Applications (VBA) や C# など、Office をプログラムできる任意の言語から API にアクセスできます。
think-cell へのエントリポイントは、think-cell アドインオブジェクトです。これには、Application.COMAddInsコレクションからアクセスできます。think-cell への呼び出しは常に遅延バインドされるため、追加するタイプ ライブラリや参照はありません。自動化における早期および後期バインディングの説明については、Microsoft Learn を参照してください。
一部の API 関数は、PowerPoint の think-cell アドインオブジェクトのメソッドであり、Excel の一部の think-cell アドイン オブジェクトのメソッドです。PowerPoint アドインへの参照にはtcPpAddInを使用し、Excel アドインへの参照にはtcXlAddInを使用します。
アプリケーション用の Visual Basic
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 アプリケーションのオブジェクト モデルにアクセスする必要がある場合は、そのタイプ ライブラリを参照として追加する必要があります。
たとえば、Excel シートから think-cell グラフを更新する前に、PowerPoint でマクロを使用して Excel シートのデータを操作する場合、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 アドイン オブジェクトが常に取得されます。これは、PowerPoint または Excel のどちらで使用するかに応じて、tcPpAddIn または tcXlAddIn です。他の 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#
C# から think-cell API を使用して、Office ホスト アプリケーション内で実行されるアドインおよびドキュメント コード拡張を開発するとき、およびスタンドアロン アプリケーションを開発するときに使用できます。
以下では、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)をプロジェクトへの参照として追加する必要があります。可能な場合はタイプ ライブラリを追加することをお勧めします。これは、Visual Studio が対応する PIA への参照を自動的に追加するためです(使用可能な場合)。タイプ ライブラリがない場合は、タイプ ライブラリから相互運用アセンブリを生成します(こちらを参照)。
たとえば、上記の think-cell アドインオブジェクトへの参照を取得できるようにするには、COMダイアログのType Libraries > Reference ManagerタブにあるMicrosoft PowerPoint 16.0 Object Libraryを追加します。プロジェクト タイプに応じて、このダイアログにアクセスするには、ソリューション エクスプローラーでReferences、 またはSolution ExplorerにあるDependenciesを右クリックし、Add (COM) Reference選択します。
注記:16.0 は、Office 2016 以降のバージョン番号です。COM タイプ ライブラリへの参照に対して既定で有効になっているEmbed Interop Typesオプションを使用することにより、この参照でコンパイルされたアプリケーションは、使用されるすべてのインターフェイスがオブジェクト モデルに存在する限り、他のバージョンの Office と下位(および上位)互換性があります。詳細な情報は、こちらをご参照ください。
think-cell の 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 アプリケーションのオブジェクト モデルにアクセスする必要がある場合は、上記で説明したように、そのタイプ ライブラリを参照として追加する必要があります。
注記:think-cell の API は Office Webアドインからは使用できません。残念ながら現在、Microsoft では単に「Office アドイン」と呼ばれています。Office アプリケーションのオブジェクト モデルと直接対話することはできず、特に think-cell などの COM アドインと対話することはできません。
API リファレンス
Windows では、次の API を使用できます。
Excelデータを使用しての自動化
PowerPoint テンプレートのthink-cell要素を Excel のデータで自動更新します。詳細については、Excelデータを使用しての自動化をご覧ください。
|
API |
内容 |
手動トピック |
|---|---|---|
|
|
PowerPoint テンプレートのコピーを作成し、Excel ワークブックにリンクされているコピーされたプレゼンテーションのすべてのthink-cell要素を更新します。 |
|
|
|
Excel にリンクされているかどうかに関係なく、PowerPoint テンプレート内の特定のthink-cell要素を更新します。 |
|
|
|
PowerPoint テンプレートのthink-cell要素を Excel のデータで更新します。 |
スタイルファイル
think-cellスタイルファイルの読み込み、表示、削除。詳細については、🛇スタイルファイルをご覧ください。
|
API |
内容 |
手動トピック |
|---|---|---|
|
|
スライドマスターまたはスライドレイアウトにスタイルファイルをロードする |
|
|
|
スライドレイアウトの特定の領域にのみ適用されるようにスタイルファイルをロードする |
🛇Load a style file in an area of the layout: LoadStyleForRegion |
|
|
スライドマスターまたはスライドレイアウトでアクティブなスタイルファイルの名前を返す |
|
|
|
スライドレイアウトからすべてのスタイルファイルを削除します |
マリメッコ グラフィック グラフ
マリメッコ グラフィック グラフをthink-cellにインポートして検査します。詳細については、マリメッコ グラフィック グラフのインポートをご覧ください。
|
API |
内容 |
手動トピック |
|---|---|---|
|
|
PowerPoint のマリメッコ グラフィック グラフをthink-cellグラフに置き換える |
|
|
|
マリメッコ グラフィック グラフの XML 定義を抽出する |