最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

プレゼンテーション コンテンツの追加と置換

PPT API を使用して PowerPoint® プレゼンテーションのコンテンツを追加または置き換えるには、以下のようにします。

  • 追加または置き換えるプレゼンテーション コンテンツを保持するように PowerPoint テンプレートを設定する。

  • ParagraphTablePicture オブジェクトなどの PPT API コンテンツ オブジェクトを作成する。

  • PPT API コンテンツ オブジェクトを使用して、プレゼンテーションのコンテンツを追加または置き換える。

コンテンツは、いくつかの方法で追加または置き換えることができます。たとえば、以下を行うことができます。

  • コンテンツを、プレゼンテーション全体で、または特定のスライドで局所的に追加または置き換える。

  • テキスト ボックスにコンテンツを追加する。

  • テキスト ボックス、テーブルまたは図を同じ種類のコンテンツに置き換える。

  • プレースホルダーをそのプレースホルダーに対応するコンテンツに置き換える。

段落、テーブル、テキスト ボックスの一部を置き換えることはできません。コンテンツ オブジェクト全体を置き換えます。

テンプレートの設定

既存の PowerPoint プレゼンテーションに対して、テンプレートを変更することなくコンテンツを置き換えたり、追加することができます。ただし、PPT API を使用するには、テンプレートとスライド オブジェクトに関する以下の知識が必要です。

  • スライド マスター名

  • スライド レイアウト名

  • スライド プレースホルダー名とコンテンツ オブジェクト名

  • テーブル スタイル名

PowerPoint を使用してプレゼンテーションにプレースホルダーを追加した後、PPT API を使用してそのプレースホルダーをコンテンツに置き換えることができます。プレゼンテーションで特定のコンテンツ オブジェクトを置き換える際、PowerPoint を使用してコンテンツ オブジェクトに一意の名前を与えることができます。その後、PPT API でその名前を使用します。

PPT API プログラムでの PowerPoint テンプレートの使用の詳細については、以下を参照してください。

コンテンツの置換

コンテンツ オブジェクト名を replace メソッドと Slide オブジェクトで指定することで、コンテンツを置き換えることができます。たとえば、既定の PPT API テンプレートでは、タイトル スライド レイアウトに "タイトル" というコンテンツ オブジェクトが含まれます。

titleSlide = add(slides,'Title Slide');

replace(titleSlide,'Title','This Is My Title');

プレゼンテーションのコンテンツを置き換えるには、find メソッドを Presentation または Slide オブジェクトで使用できます。find メソッドは、指定した検索値に一致する Name プロパティ値をもつコンテンツ オブジェクトを検索します。その後、更新する返された項目のインデックスを使用できます。

slides = Presentation('myPresentation');
titleSlide = add(slides,'Title Slide');

contents = find(slides,'Title');
replace(contents(1),'This Is My Title');

テキストの追加と置換

以下の方法を使用して、プレゼンテーションにテキストを追加したり、置き換えることができます。

テキストを指定する手法関連する PPT API オブジェクト

これらのオブジェクト作成の一環としてテキストを指定する。

  • Text

  • Paragraph

  • ExternalLInk

段落または外部リンクにテキストを追加する。

以下の PPT API オブジェクトにテキストを追加する。

  • Paragraph

  • TableEntry

  • ExternalLink

プレゼンテーションまたはスライドの Paragraph オブジェクトを置き換える。

文字ベクトル、Paragraph オブジェクト、文字ベクトルまたは Paragraph オブジェクト (またはその両方の種類のオブジェクトの組み合わせ) の cell 配列を、以下のオブジェクトで replace メソッドに指定する。

  • Presentation

  • Slide

プレースホルダー オブジェクトでテキストを追加または置き換える。

  • ContentPlaceholder オブジェクトに文字ベクトルまたは Paragraph オブジェクトを追加する。または、文字ベクトルまたは Paragraph オブジェクト (またはその両方の組み合わせ) の cell 配列を使用して追加する。

  • ContentPlaceholder オブジェクトを Paragraph オブジェクトに置き換える。

  • TextBoxPlaceholder オブジェクトに文字ベクトルまたは Paragraph オブジェクトを追加する。または、文字ベクトルまたは Paragraph オブジェクト (またはその両方の組み合わせ) の cell 配列を使用して追加する。

  • TextBoxPlaceholder オブジェクトを Paragraph オブジェクトに置き換える。

プレースホルダーのテキストの追加と置換を参照してください。

テキスト ボックスに追加または置き換える。

TextBox オブジェクトに文字ベクトルまたは Paragraph オブジェクトを追加するまたは置き換える。または、文字ベクトルまたは Paragraph オブジェクト (またはその両方の組み合わせ) の cell 配列を使用して追加するまたは置き換える。

テキスト ボックスのテキストの追加または置換を参照してください。

プレースホルダーのテキストの追加と置換

ContentPlaceholderTextBoxPlaceholder のテキストは、以下を指定して追加または置き換えができます。

  • 文字ベクトル

  • Paragraph オブジェクト

  • 文字ベクトルまたは Paragraph オブジェクトの cell 配列、または文字ベクトルと Paragraph オブジェクトの組み合わせ。入れ子にされた cell 配列は、入れ子にされたリスト項目 (インデントされたリスト項目) を指定します。

スライド レイアウトは、テキストが、段落、箇条書きリスト、番号付きリストのどれで表示されるかを指定します。

import mlreportgen.ppt.*
 
name1 = 'before';
slides = Presentation(name1);
add(slides,'Comparison');
replace(slides, 'Left Content', 'dummy content');
replace(slides, 'Right Content', 'dummy content');
close(slides);
 
name2 = 'after';
slides = Presentation(name2, name1);
 
lefts = find(slides, 'Left Content');
rights = find(slides, 'Right Content');
 
para = replace(lefts(1), 'Left item in the list' );
para.Italic = true;
para.FontColor = 'green';
 
replace(rights(1), { ...
    'Right List item', ...
        { 'Inner right list item', 'Other inner right list item' }...
    'Right List item', ...
    });
 
close(slides);
 
if ispc
    winopen(slides.OutputPath);
end

テキスト ボックスのテキストの追加または置換

スライド内のテキスト ボックスは、テキストを追加可能なボックスです。プレゼンテーションのテキスト ボックスのコンテンツを、プログラムによって追加または置き換えることができます。

  1. TextBox オブジェクトを作成します。テキスト ボックスの位置と幅を指定します。

  2. add メソッドを TextBox オブジェクトで使用して、テキストを追加します。

  3. add メソッドを Presentation オブジェクトで使用するか、add メソッドを Slide オブジェクトで使用して、TextBox オブジェクトをプレゼンテーションに追加します。

例:

import mlreportgen.ppt.*;
slides = Presentation('myPresentation.pptx');
titleSlide = add(slides,'Title Slide');

tb = TextBox();
tb.X = '2in';
tb.Y = '2in';
tb.Width = '5in';
add(tb,'Text for text box');

add(titleSlide,tb);
close(slides);

テーブルの追加または置換

プレゼンテーションでテーブルを追加または置き換えるには、最初に Table オブジェクトを作成します。add メソッドを Slide オブジェクトで使用して、テーブルを追加できます。

import mlreportgen.ppt.*;
slides = Presentation('myPresentation.pptx');
tableSlide = add(slides,'Blank');

magicTable = Table(magic(5));
magicTable.X = '3in';
magicTable.Y = '5in';

add(tableSlide,magicTable);

close(slides);

テーブルのコンテンツを置き換えるには、テーブル全体を置き換えます。Table オブジェクトを置き換えるには、replace メソッドを Table オブジェクトで使用して、別の Table オブジェクトを指定します。スライド コンテンツのプレースホルダー内のテーブルを置き換えるには、replace メソッドを Slide オブジェクトで使用して、Table オブジェクトを指定します。

slides = Presentation('myPresentation');
tableSlide = add(slides,'Title and Table');

table1 = Table(magic(9));
contents = find(tableSlide,'Table');
replace(contents(1),table1);

close(slides);

図の追加または置換

add メソッドまたは replace メソッドを Slide オブジェクトで使用して、図を追加できます。

import mlreportgen.ppt.*;
slides = Presentation('myPresentation.pptx');
pictureSlide = add(slides,'Blank');

plane = Picture(which('b747.jpg'));
plane.X = '2in';
plane.Y = '2in';
plane.Width = '5in';
plane.Height = '2in';

add(pictureSlide,plane);

close(slides);

replace メソッドは Picture または PicturePlaceholder オブジェクトで使用できます。たとえば、既定のテンプレートには、"" という図プレースホルダーを含む Title and Picture スライド レイアウトがあります。

import mlreportgen.ppt.*;
slides = Presentation('myPresentation');
pictSlide = add(slides,'Title and Picture');

plane2 = Picture(which('b747.jpg'));
contents = find(pictSlide,'Picture');
replace(contents(1),plane2);

close(slides);

PowerPoint は図の寸法を調整して、図プレースホルダーに合わせます。図プレースホルダーの寸法が Picture オブジェクトの寸法より大きい場合、図はそれに比例して引き伸ばされます。寸法が小さい場合、図は中央に配置されます。

関連する例

詳細