Microsoft Word での複雑なページ番号の追加
この例では、Microsoft® Word ドキュメントのフッターに複雑なページ番号を追加します。複雑な番号は、[章 #][区切り記号][ページ #] 形式 (たとえば 7 - 1) です。このような番号をヘッダーまたはフッターに追加できます。これは、テンプレートを使用して、フッターにページ番号を挿入し、ページ番号のプロパティを指定することで行うことができます。
テンプレートとプログラムのどちらを使用する場合でも、章を含む見出しレベルには複数レベルのリストを使用して参照しなければなりません。このようなリストを作成するには、以下のようにします。
Word テンプレートの [ホーム] タブで、[アウトライン] ボタン をクリックします。
番号付きの見出し項目を選択します。
段落に標準スタイルを適用します。
テンプレートを保存して閉じます。
その後、以下のようなプログラムを使用して、複雑なページ番号を使用できます。PageNumber
オブジェクトの ChapterStartStyle
プロパティと ChapterSeparator
プロパティが、章番号に見出しレベル 1 を、区切り文字として半角ダッシュを使用するように指定します。
import mlreportgen.dom.*; d = Document('mypages','docx','numberChapters'); open(d); layout = d.CurrentPageLayout; % Page number formatting pgnum = PageNumber(1,'n'); pgnum.ChapterStartStyle = '1'; pgnum.ChapterSeparator = 'endash'; % Add page number object to page layout styles layout.Style = {pgnum}; % layout.Style = [layout.Style {pgnum}]; % Create the footer object and insert a page number myfooter = DOCXPageFooter(); para = Paragraph(); para.HAlign = 'center'; append(para,Page()); append(myfooter,para); % Set PageFooters on the current layout to your footer object layout.PageFooters = myfooter; % Create content for i=1:5 title = append(d,Heading1(['Chapter' num2str(i)])); title.Style = {PageBreakBefore}; for j=1:30 append(d,'This is the body of the chapter'); end end close(d); rptview(d.OutputPath);
ヒント
各章のページ レイアウトを作成して、各章のページの番号付けを 1 から再開します。
参考
mlreportgen.dom.PageNumber
| mlreportgen.dom.DOCXPageLayout
| mlreportgen.dom.DOCXPageFooter