Main Content

テーブルの作成と書式設定

テーブルの作成

テーブルを作成するには、以下の方法があります。

  • 引数を指定せずに mlreportgen.ppt.Table コンストラクターを使用して、空の Table オブジェクトを作成する。その後、TableRow オブジェクトを Table オブジェクトに追加し、TableEntry オブジェクトを TableRow オブジェクトに追加する。

  • 列数を指定して mlreportgen.ppt.Table コンストラクターを使用して、空の Table オブジェクトを作成する。

  • 行と列がコンストラクターに指定した値によって埋められている Table オブジェクトを作成する。2 次元の数値配列、または数字、文字ベクトル、および Paragraph オブジェクトの 2 次元 cell 配列を指定できます。また、これらの値の組み合わせを使用することもできます。

空のテーブルにテーブルの行を追加してテーブルを作成する例については、mlreportgen.ppt.TableRow を参照してください。Table オブジェクト コンストラクターに値を指定してテーブルを作成する例については、mlreportgen.ppt.Table を参照してください。

テーブルの書式設定

1 行おきに網掛けしたテーブルなど、テーブル全体の外観に対してテーブル スタイル名を指定できます。Table オブジェクトの StyleName プロパティを、テーブル スタイル名に設定できます。

テンプレートのテーブル スタイル

PowerPoint® テンプレートには、PPT API プログラムで使用するテーブル スタイルのインスタンスが含まれなければなりません。テンプレートのテーブル スタイルのインスタンスをリストするには、getTableStyleNames を使用します。

import mlreportgen.ppt.*

%% Create a new presentation and open it
slides = Presentation('myPrsentation');
open(ppt);

%% Print out all table styles and
%% their universally unique identifiers (UUID)
pptStyles = getTableStyleNames(slides);
fprintf('Available table styles:\n');
for i = 1:length(pptStyles)
    fprintf('    Style name: ''%s''\n', pptStyles{i,1});
    fprintf('          UUID: ''%s''\n', pptStyles{i,2});
end

%% Close the presentation
close(ppt);

返されるスタイルには、それぞれ名前と ID があります。この名前または ID を Style プロパティで使用できます。ID は、名前がロケールに応じて異なる可能性がある場合に使用します。

Available table styles:
    Style name: 'Medium Style 2 - Accent 1'
          UUID: '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'
    Style name: 'Light Style 1'
          UUID: '{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}'
    Style name: 'Light Style 1 - Accent 1'
          UUID: '{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}'
    Style name: 'Light Style 1 - Accent 2'
          UUID: '{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}'

使用するスタイル名にインスタンスがない場合、インスタンスを作成します。

  1. PowerPoint テンプレートでスライドを作成します。

  2. スライドにテーブルを作成します。

  3. プログラムで使用するスタイルをテーブルに適用します。スタイルの適用により、テンプレートにスタイルのインスタンスが作成されます。

  4. スライドを削除し、テンプレートを保存して閉じます。

テーブル スタイルを使用したテーブルの書式設定

この例では、テーブル スタイルを使用してテーブルを書式設定する方法を示します。

import mlreportgen.ppt.*

%% Create a new presentation and add two slides to it
ppt = Presentation();
open(ppt);

add(ppt,'Title and Content');
add(ppt,'Title and Content');


%% Save the two content placeholders named 'Content' in an array. 
%% Replace the first content placeholder with a 5x5 table and 
%% apply a table style to it. 
contents = find(ppt,'Content');
tbl = replace(contents(1),Table(magic(5)));
tbl.StyleName = 'Medium Style 2 - Accent 1'

%% Replace the second content placeholder with a 10x10 table and 
%% apply a different table style.
%% Generate the presentation and open  it. 
tbl = replace(contents(2),Table(magic(10)));
tbl.StyleName = 'Medium Style 2 - Accent 2'
close(ppt);
rptview(ppt);

このコードは、2 つのスライドを含む PowerPoint プレゼンテーションを作成します。各スライドにはテーブルが含まれ、そのテーブルにはそれぞれ異なるスタイルが適用されています。

書式オプション

テーブルの位置 (左上の x および y 座標)、高さおよび幅のプロパティを指定できます。プログラムによってテーブルをプレゼンテーションに追加するとき、すべてのテーブル コンテンツがテーブルに収まる場合、PowerPoint はそれらのプロパティを使用します。TablePlaceholder または ContentPlaceholder をテーブルに置き換えるとき、PowerPoint はテーブルをプレースホルダーの位置と寸法に合わせます。

テーブル、列、テーブルの行、テーブル エントリのコンテンツの既定の書式設定を指定できます。テーブル エントリの書式設定は、列またはテーブルの行に指定する書式設定よりも優先されます。テーブルの行の書式設定は、テーブルの書式設定よりも優先されます。

Table オブジェクトのコンテンツに、以下の既定の書式オプションを指定できます。

Table オブジェクトの書式設定 書式オブジェクト書式プロパティ

テンプレートのテーブル スタイル

PowerPoint テンプレートを使用して、テーブル スタイルの書式設定を指定します。テンプレートのスタイルのインスタンスを作成します。

N/A

StyleName

背景色

BackgroundColor

BackgroundColor

列の書式設定

ColSpec

ColSpecs

テーブル セルのコンテンツの垂直方向の配置

VAlign

VAlign

フォント ファミリ

FontFamily

Font

ロケールを処理するコンプレックス スクリプト用のフォント ファミリ

FontFamily

ComplexScriptFont

フォント サイズ

FontSize

FontSize

フォント カラー

FontColor

FontColor

テーブルの左上の x 座標

N/A

X

テーブルの左上の y 座標

N/A

Y

テーブルの幅

N/A

Width

テーブルの高さ

N/A

Height

TableRow オブジェクトのコンテンツに既定の書式設定を指定するには、Style プロパティを以下の書式オブジェクトと共に使用します。

TableRow オブジェクトの書式設定 書式オブジェクト書式プロパティ

背景色

BackgroundColor

N/A

テーブル セルのコンテンツの垂直方向の配置

VAlign

N/A

フォント ファミリ

FontColor

N/A

コンプレックス スクリプト用のフォント ファミリ

FontFamily

N/A

フォント サイズ

FontSize

N/A

テキストの色

FontColor

N/A

太字

Bold

N/A

イタリック

Italic

N/A

取り消し線

Strike

N/A

下線

Underline

N/A

背景色

BackgroundColor

N/A

TableEntry オブジェクトのコンテンツに既定の書式設定を指定するには、以下の書式オプションを使用します。

TableEntry オブジェクトの書式設定 書式オブジェクト書式プロパティ

背景色

BackgroundColor

BackgroundColor

列幅

ColWidth

N/A

テーブル セルのコンテンツの垂直方向の配置

VAlign

VAlign

フォント ファミリ

FontFamily

Font

ロケールを処理するコンプレックス スクリプト用のフォント ファミリ

FontFamily

ComplexScriptFont

テキストの色

FontColor

FontColor

フォント サイズ

FontSize

FontSize

太字

Bold

N/A

イタリック

Italic

N/A

取り消し線

Strike

N/A

下線

Underline

N/A

テーブルの行またはエントリへのアクセス

テーブルの行にアクセスするには、mlreportgen.ppt.Table.row メソッドを使用します。Table オブジェクトおよびアクセスする行の番号を指定します。たとえば、myTable の 2 行目にある TableRow オブジェクトにアクセスするには、以下を使用します。

myTable = Table(magic(5));
row2 = row(myTable,2);

テーブルのエントリにアクセスするには、mlreportgen.ppt.Table.entry メソッドを使用します。Table オブジェクトおよびアクセスする行の番号と列の番号を指定します。たとえば、myTable の 2 行目の 3 番目のエントリである TableEntry オブジェクトにアクセスするには、以下を使用します。

myTable = Table(magic(5));
entry3row2 = entry(myTable,2,3);

あるいは、Table オブジェクトの Children プロパティを使用して、テーブルの行にアクセスできます。TableRow オブジェクトの Children プロパティを使用して、テーブル エントリにアクセスできます。たとえば、myTable の 2 行目の 3 番目のエントリにアクセスするには、以下のようにします。

myTable = Table(magic(5));
entry3row2 = myTable.Children(2).Children(3);

列の書式設定

テーブルの列を書式設定するには、1 つ以上の mlreportgen.ppt.ColSpec オブジェクトを使用します。書式設定する各列に ColSpec オブジェクトを作成して、各 ColSpec オブジェクトの書式設定を指定します。その後、ColSpec オブジェクトの配列を定義して、その配列を Table オブジェクトの ColSpecs プロパティと共に使用します。

テーブルの行に対する書式設定の指定は、列に対する書式設定の指定よりも優先されます。

import mlreportgen.ppt.*
ppt = Presentation('myColSpecs.pptx');
open(ppt);

add(ppt,'Title and Content');

t = Table(magic(12));
t.Style = {HAlign('center')};

colSpecs(2) = ColSpec('1.5in');
colSpecs(1) = ColSpec('1.5in');
colSpecs(1).BackgroundColor = 'red';
colSpecs(2).BackgroundColor = 'green';
t.ColSpecs = colSpecs;
t.row(2).Style = {VAlign('bottom')};
t.row(2).BackgroundColor = 'tan';
t.entry(2,3).FontColor = 'red';
t.entry(2,3).FontSize = '30pt';

replace(ppt,'Content',t);

close(ppt);
rptview(ppt);

ColSpec オブジェクトを作成するとき、コンストラクターに列幅を指定できます。例:

myColSpec = ColSpec('3in');
また、ColSpec オブジェクトの Width プロパティを使用して列幅を指定することもできます。BackgroundColor など、ColSpec オブジェクトの他の書式設定プロパティを指定します。

テーブル スタイル名の表示

PPT API を使用する場合、既定以外のテーブル スタイルを指定するには、PowerPoint テンプレートのテーブル スタイル名を知っておく必要があります。その名前を表示するには PowerPoint 内で探すか、PPT API を使用します。

  1. PowerPoint で、[表示][スライド マスター] を選択します。

  2. テーブルのあるスライド レイアウトで、Table (またはそのプレースホルダー内のどこか) をクリックします。[挿入] タブで [表] をクリックします。

  3. スライド レイアウトで空のテーブルを作成します。

    [表のスタイル] パネルが表示されます。テーブル スタイルの名前を確認するには、テーブル スタイルのイメージの上にカーソルを置きます。

    A tooltip "Medium Style 2 - Accent 2" identifies the third table style in the panel of table styles.

PPT API を使用してテーブル スタイル名を確認するには、getTableStyleNames メソッドを mlreportgen.ppt.Presentation オブジェクトで使用します。この例の出力は、既定のテンプレートに含まれる多くのテーブル スタイルのうち最初の 2 つだけを示します。

import mlreportgen.ppt.*
ppt = Presentation('myPlaceholderPresentation');

getTableStyleNames(ppt)
ans = 

'Medium Style 2 - Accent 1'     '{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}'
'Light Style 1'                 '{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}'

PPT API でテーブル スタイル名を使用するには、名前または数値識別子のいずれかを使用できます。

参考

関数

クラス

関連する例

詳細