テーブルの作成と書式設定
テーブルの作成
テーブルを作成するには、以下の方法があります。
引数を指定せずに
mlreportgen.ppt.Table
コンストラクターを使用して、空のTable
オブジェクトを作成する。その後、TableRow
オブジェクトをTable
オブジェクトに追加し、TableEntry
オブジェクトをTableRow
オブジェクトに追加する。列数を指定して
mlreportgen.ppt.Table
コンストラクターを使用して、空のTable
オブジェクトを作成する。
行と列がコンストラクターに指定した値によって埋められている
Table
オブジェクトを作成する。2 次元の数値配列、または数字、文字ベクトル、およびParagraph
オブジェクトの 2 次元 cell 配列を指定できます。また、これらの値の組み合わせを使用することもできます。
空のテーブルにテーブルの行を追加してテーブルを作成する例については、
を参照してください。Table オブジェクト コンストラクターに値を指定してテーブルを作成する例については、mlreportgen.ppt.TableRow
を参照してください。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}'
使用するスタイル名にインスタンスがない場合、インスタンスを作成します。
PowerPoint テンプレートでスライドを作成します。
スライドにテーブルを作成します。
プログラムで使用するスタイルをテーブルに適用します。スタイルの適用により、テンプレートにスタイルのインスタンスが作成されます。
スライドを削除し、テンプレートを保存して閉じます。
テーブル スタイルを使用したテーブルの書式設定
この例では、テーブル スタイルを使用してテーブルを書式設定する方法を示します。
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 |
|
背景色 |
|
|
列の書式設定 |
|
|
テーブル セルのコンテンツの垂直方向の配置 |
|
|
フォント ファミリ |
|
|
ロケールを処理するコンプレックス スクリプト用のフォント ファミリ |
|
|
フォント サイズ |
|
|
フォント カラー |
|
|
テーブルの左上の x 座標 | N/A |
|
テーブルの左上の y 座標 | N/A |
|
テーブルの幅 | N/A |
|
テーブルの高さ | N/A |
|
TableRow
オブジェクトのコンテンツに既定の書式設定を指定するには、Style
プロパティを以下の書式オブジェクトと共に使用します。
TableRow オブジェクトの書式設定 | 書式オブジェクト | 書式プロパティ |
---|---|---|
背景色 |
| N/A |
テーブル セルのコンテンツの垂直方向の配置 |
| N/A |
フォント ファミリ |
| N/A |
コンプレックス スクリプト用のフォント ファミリ |
| N/A |
フォント サイズ |
| N/A |
テキストの色 |
| N/A |
太字 |
| N/A |
イタリック |
| N/A |
取り消し線 |
| N/A |
下線 |
| N/A |
背景色 |
| N/A |
TableEntry
オブジェクトのコンテンツに既定の書式設定を指定するには、以下の書式オプションを使用します。
TableEntry オブジェクトの書式設定 | 書式オブジェクト | 書式プロパティ |
---|---|---|
背景色 |
|
|
列幅 |
| N/A |
テーブル セルのコンテンツの垂直方向の配置 |
|
|
フォント ファミリ |
|
|
ロケールを処理するコンプレックス スクリプト用のフォント ファミリ |
|
|
テキストの色 |
|
|
フォント サイズ |
|
|
太字 |
| N/A |
イタリック |
| N/A |
取り消し線 |
| N/A |
下線 |
| 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 を使用します。
PowerPoint で、[表示] 、 [スライド マスター] を選択します。
テーブルのあるスライド レイアウトで、
Table
(またはそのプレースホルダー内のどこか) をクリックします。[挿入] タブで [表] をクリックします。スライド レイアウトで空のテーブルを作成します。
[表のスタイル] パネルが表示されます。テーブル スタイルの名前を確認するには、テーブル スタイルのイメージの上にカーソルを置きます。
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 でテーブル スタイル名を使用するには、名前または数値識別子のいずれかを使用できます。
参考
関数
クラス
mlreportgen.ppt.Table
|mlreportgen.ppt.TableRow
|mlreportgen.ppt.TableEntry
|mlreportgen.ppt.TablePlaceholder
|mlreportgen.ppt.ColSpec
|mlreportgen.ppt.ColWidth