セクション区切りを使用すると、文書をセクションごとに分割し、それぞれに異なる書式設定やレイアウト設定を適用できます。これにより、文書の全体的な構造や外観をより細かく制御できます。複雑なレポートや長い論文を作成する際に、セクション区切りをマスターすることで、文書管理スキルを大幅に向上させることができます。本記事では、C# で Spire.Doc for .NET を使用して Word 文書にセクション区切りを挿入・削除する方法を示します。
Spire.Doc for .NET をインストールします
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
C# で Word 文書にセクション区切りを挿入する方法
Spire.Doc for .NET は、Paragraph.InsertSectionBreak(SectionBreakType breakType) メソッドを提供しており、指定されたタイプのセクション区切りを段落に挿入できます。以下の表は、サポートされているセクション区切りの種類、それに対応する Enum、および説明を示しています。
セクション区切り | Enum | 説明 |
新しいページ | SectionBreakType.NewPage | 新しいセクションを新しいページで開始します。 |
連続 | SectionBreakType.NoBreak | 新しいセクションを同じページで開始し、連続したコンテンツの流れを可能にします。 |
奇数ページ | SectionBreakType.OddPage | 新しいセクションを次の奇数ページで開始します。 |
偶数ページ | SectionBreakType.EvenPage | 新しいセクションを次の偶数ページで開始します。 |
新しい列 | SectionBreakType.NewColumn | 列が有効な場合、新しいセクションを次の列で開始します。 |
以下は連続したセクション区切りを挿入する手順の詳細です:
- Document インスタンスを作成します。
- Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
- Document.Sections[] プロパティを使用して指定されたセクションを取得します。
- Section.Paragraphs[] プロパティを使用してセクションの指定された段落を取得します。
- Paragraph.InsertSectionBreak() メソッドを使用して段落の末尾にセクション区切りを追加します。
- Document.SaveToFile() メソッドを使用して結果文書を保存します。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace InsertSectionBreak
{
class Program
{
static void Main(string[] args)
{
// ドキュメントのインスタンスを作成
Document doc = new Document();
// Word ドキュメントをロード
doc.LoadFromFile("Sample.docx");
// ドキュメント内の最初のセクションを取得
Section sec = doc.Sections[0];
// セクション内の2番目の段落を取得
Paragraph para = sec.Paragraphs[2];
// 連続するセクションブレークを挿入
para.InsertSectionBreak(SectionBreakType.NoBreak);
// 結果のドキュメントを保存
doc.SaveToFile("output/セクション区切りを挿入.docx", FileFormat.Docx);
doc.Close();
}
}
}
C# を使用して Word 文書からセクション区切りを削除する方法
Word 文書からすべてのセクション区切りを削除するには、文書の最初のセクションにアクセスし、他のセクションの内容を最初のセクションにコピーしてから、それらを削除する必要があります。以下は詳細な手順です:
- Document クラスのインスタンスを作成します。
- Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
- Document.Sections[] プロパティで最初のセクションを取得します。
- ドキュメント内の残りのセクションを繰り返し処理し、現在のセクションを取得します。
- セクションの子オブジェクトを繰り返し処理し、Section.Body.ChildObjects.Add(DocumentObject.Clone()) メソッドを使用して最初のセクションにコピーします。
- Document.Sections.RemoveAt() メソッドを使用して、現在のセクションを削除します。
- Document.SaveToFile() メソッドを使用してドキュメントを保存します。
- C#
using Spire.Doc;
namespace DeleteSectionBreak
{
class Program
{
static void Main(string[] args)
{
// Document のインスタンスを作成
Document doc = new Document();
// Word ドキュメントをロード
doc.LoadFromFile("Sample.docx");
// 最初のセクションを取得
Section section = doc.Sections[0];
// 残りのセクションを反復処理
for (int i = 1; i < doc.Sections.Count; i++)
{
// 現在のセクションを取得
Section section1 = doc.Sections[i];
// セクション内の子オブジェクトを反復処理
foreach (DocumentObject obj in section1.Body.ChildObjects)
{
// 子オブジェクトを最初のセクションにコピーする
section.Body.ChildObjects.Add(obj.Clone());
}
// 現在のセクションを削除
doc.Sections.RemoveAt(i);
i--;
}
// ドキュメントを保存
doc.SaveToFile("output/セクション区切りを削除.docx", FileFormat.Docx);
doc.Close();
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。