Microsoft PowerPointには、PowerPointプレゼンテーションにテーブルを挿入する機能があります。テーブルを使用すると、データを行と列の形式で配置できます。さらに、データを整理し、表示と分析を容易にします。そのために、この記事では、C++を使用してPowerPointプレゼンテーションでテーブルを作成および操作する方法を説明します。
- PowerPointプレゼンテーションでテーブルを作成および操作するためのC++API
- C++を使用してPowerPointプレゼンテーションでテーブルを作成する
- C++を使用してPowerPointプレゼンテーションのテーブルにアクセスして変更する
- C++を使用してPowerPointテーブルにテキストの方向を設定する
PowerPointプレゼンテーションでテーブルを作成および操作するためのC++API
Aspose.Slides for C++ APIを使用して、PowerPointプレゼンテーションのテーブルを作成および操作します。これは、Mircosoft PowerPointをインストールしなくても、PowerPointファイルの作成、読み取り、および変更をサポートする、強力で機能豊富なAPIです。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.Slides.Cpp
C++を使用してPowerPointプレゼンテーションでテーブルを作成する
以下は、PowerPointプレゼンテーションでテーブルを作成する手順です。
- まず、Presentationクラスのインスタンスを作成して、新しいPowerPointファイルを表します。
- テーブルを追加するスライドを取得します。
- 配列で、テーブルの幅と高さを定義します。
- ISlide->get_Shapes()->AddTable(float x, float y, System::ArrayPtr columnWidths, System::ArrayPtr rowHeights)メソッドを使用してテーブルを作成します。
- テーブルの行を反復処理するループを作成します。
- ループ内で、ネストされたループを作成して、各行のセルを反復処理します。
- 要件に応じてセルをフォーマットします。
- 最後に、Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用してプレゼンテーションを保存します。
次のサンプルコードは、C++を使用してPowerPointプレゼンテーションでテーブルを作成する方法を示しています。
// ファイルパス
const String outputFilePath = u"OutputDirectory\\CreateTable_out.pptx";
// Presentationクラスのインスタンスを作成します
auto presentation = System::MakeObject<Presentation>();
// 最初のスライドにアクセスする
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// 幅のある列と高さのある行を定義する
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);
// スライドにテーブル形状を追加
SharedPtr<ITable> table = slide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);
// 各セルの境界線形式を設定します
for (int x = 0; x < table->get_Rows()->get_Count(); x++)
{
SharedPtr<IRow> row = table->get_Rows()->idx_get(x);
for (int y = 0; y < row->get_Count(); y++)
{
SharedPtr<ICell> cell = row->idx_get(y);
cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_CellFormat()->get_BorderTop()->set_Width(5);
cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_CellFormat()->get_BorderBottom()->set_Width(5);
cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_CellFormat()->get_BorderLeft()->set_Width(5);
cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->set_FillType(FillType::Solid);
cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
cell->get_CellFormat()->get_BorderRight()->set_Width(5);
}
}
// プレゼンテーションを保存
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
C++を使用してPowerPointプレゼンテーションのテーブルにアクセスして変更する
PowerPointプレゼンテーションの既存のテーブルにアクセスして変更することもできます。以下は、PowerPointプレゼンテーションのテーブルにアクセスして変更する手順です。
- まず、Presentationクラスを使用してPowerPointファイルをロードします。
- テーブルを含むスライドを取得します。
- スライドの形状を繰り返します。
- 形状がITableタイプの場合は、ITableとしてキャストし、変数に格納します。
- ITable->idx_get(int32_t columnIndex, int32_t rowIndex)->get_TextFrame()->set_Text(System::String value)メソッドを使用してテーブルのテキストを更新します。
- 最後に、Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用してプレゼンテーションを保存します。
次のサンプルコードは、C++を使用してPowerPointプレゼンテーションのテーブルにアクセスして変更する方法を示しています。
// ファイルパス
const String sourceFilePath = u"OutputDirectory\\CreateTable_out.pptx";
const String outputFilePath = u"OutputDirectory\\AccessTable_out.pptx";
// プレゼンテーションファイルをロードする
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// 最初のスライドにアクセスする
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// テーブルにアクセスする
SharedPtr<ITable> table;
for (SharedPtr<IShape> shape : slide->get_Shapes())
{
if (System::ObjectExt::Is<ITable>(shape)) {
table = System::DynamicCast_noexcept<ITable>(shape);
}
}
// テキストを設定する
table->idx_get(0, 1)->get_TextFrame()->set_Text(u"Aspose");
// プレゼンテーションを保存
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
C++を使用してPowerPointテーブルにテキストの方向を設定する
以下は、PowerPointテーブルのテキストの方向を設定する手順です。
- まず、Presentationクラスを使用してPowerPointファイルをロードします。
- テーブルを含むスライドを取得します。
- スライドの形状を繰り返します。
- 形状がITableタイプの場合は、ITableとしてキャストし、変数に格納します。
- ITable->idx_get(int32_t columnIndex, int32_t rowIndex)メソッドを使用して、ICellオブジェクトのテーブルの目的のセルにアクセスします。
- ICell->set_TextAnchorType(Aspose::Slides::TextAnchorType value)メソッドを使用してテキストアンカータイプを設定します。
- ICell->set_TextVerticalType(Aspose::Slides::TextVerticalType value)メソッドを使用してテキストの方向を設定します。
- 最後に、Presentation->Save(System::String fname, Export::SaveFormat format)メソッドを使用してプレゼンテーションを保存します。
次のサンプルコードは、C++を使用してPowerPointテーブルのテキストの方向を設定する方法を示しています。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\Slides\\PresentationWithTable.pptx";
const String outputFilePath = u"OutputDirectory\\SetTextDirectionInTable_out.pptx";
// プレゼンテーションファイルをロードする
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// 最初のスライドにアクセスする
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// テーブルにアクセスする
SharedPtr<ITable> table;
for (SharedPtr<IShape> shape : slide->get_Shapes())
{
if (System::ObjectExt::Is<ITable>(shape)) {
table = System::DynamicCast_noexcept<ITable>(shape);
}
}
// テキストの方向を設定する
SharedPtr<ICell> cell = table->idx_get(0, 1);
cell->set_TextAnchorType(TextAnchorType::Center);
cell->set_TextVerticalType(TextVerticalType::Vertical270);
// プレゼンテーションを保存
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
無料ライセンスを取得する
評価制限なしでAPIを試すために、無料の一時ライセンスをリクエストできます。
結論
この記事では、PowerPointプレゼンテーションでテーブルを作成および更新する方法を学習しました。さらに、Aspose.Slides for C++ APIを使用して、PowerPointテーブルのテキストの方向を設定する方法を見てきました。これは、PowerPointファイルを操作するための一連の追加機能を提供する堅牢なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。