Main Content

書式の継承

DOM API を使用すると、テンプレートベースのスタイルと書式オブジェクトベースのスタイル (または対応する書式プロパティ) を使用して、オブジェクトの外観を指定できます。オブジェクトに StyleName プロパティと Style プロパティを設定している場合、StyleName プロパティのテンプレートベースのスタイルで指定された対応する書式がこの Style プロパティの書式でオーバーライドされます。たとえば、以下のコードについて考えます。

import mlreportgen.dom.*;
d = Document('MyDoc','docx','MyTemplate');
p = Paragraph('Danger!');
p.StyleName = 'Warning';
p.Style = {Color('red')};
append(d,p);
close(d);

Warning スタイルは警告の色を黄色として定義しているとします。この場合、段落の Style プロパティの設定により、StyleName 設定で指定した色がオーバーライドされます。

ドキュメント オブジェクトで StyleName の値が指定されていない場合は、指定されていない任意の書式をコンテナーから継承します。コンテナーは、指定されていない任意の書式を自身のコンテナーから継承します。これが同様にコンテナー階層の最上位まで続きます。書式の継承により、1 つのステートメントを使用して、コンテナーに含まれるすべてのオブジェクトの書式を割り当てることができます。たとえば、次のコードは 1 つの Style プロパティを使用して、テーブルのすべてのエントリに色を割り当てます。

import mlreportgen.dom.*;
d = Document('MyDoc');
tableArray = {'a','b';'c','d'};
table = append(d,tableArray);
table.Style = {Color('blue')};
close(d);
rptview(d.OutputPath);

関連するトピック