Word APIサンプル使用例:段落の取得と追加

本文やヘッダー・フッターなどの段落に内容を追加する

本文やヘッダー・フッターなど逐次編集処理が対象とする段落の内容の取得、内容の追加を行うことができます。例えばMicrosoft Wordで作成された白紙の文書ファイル(以下、docxファイルという)に段落を追加し新たなファイルを作成、既存の docxファイルの段落の内容を取得し本文の追加だけでなく脚注やコメントの追加などができます。

サンプルファイルのご利用について
  • ダウンロード後のファイルの改変は自由ですが、商用利用及び転載は厳禁です。
  • 掲載中のサンプルファイルは原則『Word API』の最新版に対応しています。

段落の取得と追加の対象

『Word API』では、段落を定義可能な以下において段落の取得と追加ができます。

  • 本文領域
  • ヘッダー・フッター領域
  • 脚注・文末脚注領域
  • コメント領域
段落の取得と追加の対象となる領域の詳細図
段落の取得と追加の対象となる領域の詳細図

段落の追加

段落を定義可能な段落に内容の追加ができます。
白紙のMicrosoft Wordファイルに対して本文とヘッダー・フッターへ段落を追加する例とそのサンプルコードは以下のようになります。

サンプルファイル:ParagraphEdit.zip

左が追加前の白紙のdocxファイル、右が『Word API』で段落を追加後のdocxファイル
左が追加前の白紙のdocxファイル、右が『Word API』で段落を追加後のdocxファイル

C#のサンプルコード例1. 本文とヘッダー・フッターへの段落追加

var ahDocument = ahWord.AHDocument;
// ヘッダーへ段落追加
{
    var ahSection = ahDocument.GetAHSection(1);
    var ahHeader = ahSection.AddHeader(AHHeaderFooterType.OddPages);
    var headerParagraph = ahHeader.AddParagraph();
    headerParagraph.AppendText("Word API 逐次編集処理サンプル");
}
// フッターへ段落追加
{
    var ahSection = ahDocument.GetAHSection(1);
    var ahFooter = ahSection.AddFooter(AHHeaderFooterType.OddPages);
    var footerParagraph = ahFooter.AddParagraph();
    footerParagraph.AppendText("Antenna House, Inc.");
}
// 本文の1段目へ段落を追加
{
    var ahParagraph = ahDocument.GetParagraph(1);
    ahParagraph.AppendText("Word API は、Microsoft Wordの文書ファイルの加工・処理を行うライブラリです。");
}
// 本文の2段目(最終行)へ段落を追加
{
    var ahParagraph = ahDocument.AddParagraph();
    ahParagraph.AppendText("逐次編集処理で段落の取得や追加を行えます。");
}
          

段落の取得と取得段落への追加

逐次編集の処理対象となる段落からは内容の取得ができます。また、取得した段落の内容を元に新たに段落を追加、脚注やコメントを追加することもできます。

次の画像の docxファイルの本文から段落の内容と段落番号を取得するサンプルコードと結果をご紹介します。

サンプルファイル:ParagraphConfirm.zip

編集前のdocxファイル
編集前のdocxファイル

C#のサンプルコード例2. docxファイルの本文から段落の内容と段落番号を取得

var ahDocument = ahWord.AHDocument;
// 段落の内容と段落番号を取得
IAHParagraph? prevParagraph = null;
for (int i = 1; ; ++i)
{
    var paragraph = ahDocument.GetParagraph(i);
    if (prevParagraph == paragraph || paragraph == null) break;
    System.Console.WriteLine(paragraph.GetParagraphText() + "<- Paragraph(" + i + ")");
    prevParagraph = paragraph;
}
        

段落の内容の取得結果

  • Word API は、Microsoft Wordの文書ファイルの加工・処理を行うライブラリです。 <- Paragraph(1)
  • 逐次編集処理で段落の取得や追加を行えます。<- Paragraph(2)

取得した段落の内容を元にParagraph(1) の文字列”文書ファイル”にコメントを追加しParagraph(2) へ脚注を追加する例を、サンプルを使用してご紹介します。

サンプルファイル:CommentFootNoteEdit.zip

左が編集前のdocxファイル、右が編集後のdocxファイル
左が編集前のdocxファイル、右が編集後のdocxファイル

C#のサンプルコード例3. 本文の段落へ脚注とコメントを追加

var ahDocument = ahWord.AHDocument;
// 本文の1段目の文字列"文書ファイル"へコメントを追加
{
    var ahParagraph = ahDocument.GetParagraph(1);
    var ahComment = ahParagraph.AddComment("対応形式は docx", "アンテナ太郎", "文書ファイル");
}
// 本文の2段目に脚注を追加
{
    var ahParagraph = ahDocument.GetParagraph(2);
    var ahFootnote = ahParagraph.AddFootnote("逐次編集処理は .NET インターフェイスのみで有効です。");
}