チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

Koohji

Koohji

脚注は、ページの下部に配置される注釈です。MS Word では、脚注を使用して参考文献を引用したり、説明を追加したり、コメントを残したりすることができますが、メインテキストには影響を与えません。この記事では、Spire.Doc for .NET を使用して、C# で Word ドキュメントに脚注を挿入または削除する方法を説明します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

Word ドキュメントで段落の後に脚注を挿入

Spire.Doc for .NET の Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用すると、指定した段落の後に脚注を挿入できます。詳細な手順は以下の通りです。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • 最初のセクションを取得し、そのセクション内の指定した段落を取得します。
  • Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用して、段落の末尾に脚注を追加します。
  • 脚注のテキスト内容、フォント、色を設定し、脚注の上付き文字の番号の形式を設定します。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace AddFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentインスタンスを作成
            Document document = new Document();

            // サンプルのWordドキュメントをロード
            document.LoadFromFile("Sample.docx");

            // 最初のセクションを取得
            Section section = document.Sections[0];

            // セクション内の指定した段落を取得
            Paragraph paragraph = section.Paragraphs[6];

            // 段落の末尾に脚注を追加
            Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);

            // 脚注のテキスト内容を設定
            TextRange text = footnote.TextBody.AddParagraph().AppendText("さらに、近代に入ると、デジタル通貨や仮想通貨の登場により、通貨の形態は大きく変化し、グローバルな取引のスピードと範囲が拡大した。");

            // テキストのフォントと色を設定
            text.CharacterFormat.FontName = "Yu Gothic UI";
            text.CharacterFormat.FontSize = 12;
            text.CharacterFormat.TextColor = Color.DarkBlue;

            // 脚注上付き番号のフォーマットを設定
            footnote.MarkerCharacterFormat.FontName = "Arial";
            footnote.MarkerCharacterFormat.FontSize = 15;
            footnote.MarkerCharacterFormat.Bold = true;
            footnote.MarkerCharacterFormat.TextColor = Color.DarkCyan;

            // 結果のドキュメントを保存
            document.SaveToFile("output/段落に脚注を追加.docx", FileFormat.Docx);
            document.Close();
        }
    }
}

C#:Word ドキュメントに脚注を挿入・削除する方法

Word ドキュメントでテキストの後に脚注を挿入

Spire.Doc for .NET を使用すると、ドキュメント内の任意の場所にある特定のテキストの後に脚注を挿入することもできます。詳細な手順は以下の通りです。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.FindString() メソッドを使用して、指定したテキストを検索します。
  • TextSelection.GetAsOneRange() メソッドを使用して、指定したテキストの範囲を取得します。
  • TextRange.OwnerParagraph プロパティを使用して、そのテキスト範囲がある段落を取得します。
  • Paragraph.ChildObjects.IndexOf() メソッドを使用して、段落内のテキスト範囲の位置インデックスを取得します。
  • Paragraph.AppendFootnote(FootnoteType.Footnote) メソッドを使用して脚注を追加し、Paragraph.ChildObjects.Insert() メソッドを使用して指定したテキストの後に脚注を挿入します。
  • 脚注のテキスト内容、フォント、色を設定し、脚注の上付き文字の番号の形式を設定します。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace InsertFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentインスタンスを作成
            Document document = new Document();

            // サンプルのWordドキュメントをロード
            document.LoadFromFile("Sample.docx");

            // 指定したテキスト文字列を検索
            TextSelection selection = document.FindString("通貨制度", false, true);

            // 指定したテキストの範囲を取得
            TextRange textRange = selection.GetAsOneRange();

            // テキスト範囲がある段落を取得
            Paragraph paragraph = textRange.OwnerParagraph;

            // 段落内のテキスト範囲の位置インデックスを取得
            int index = paragraph.ChildObjects.IndexOf(textRange);

            // 脚注を追加
            Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);

            // 指定した段落の後に脚注を挿入
            paragraph.ChildObjects.Insert(index + 1, footnote);

            // 脚注のテキスト内容を設定
            TextRange text = footnote.TextBody.AddParagraph().AppendText("通貨制度は、国や地域が採用する通貨の管理と流通に関する枠組みであり、これには中央銀行や政府の金融政策が含まれ、経済の安定と成長を支える役割を果たします。");

            // テキストのフォントと色を設定
            text.CharacterFormat.FontName = "Yu Gothic UI";
            text.CharacterFormat.FontSize = 12;
            text.CharacterFormat.TextColor = Color.DarkBlue;

            // 脚注上付き番号のフォーマットを設定
            footnote.MarkerCharacterFormat.FontName = "Arial";
            footnote.MarkerCharacterFormat.FontSize = 15;
            footnote.MarkerCharacterFormat.Bold = true;
            footnote.MarkerCharacterFormat.TextColor = Color.DarkGreen;

            // 結果のドキュメントを保存
            document.SaveToFile("output/テキストに脚注を追加.docx", FileFormat.Docx);
            document.Close();
        }
    }
}

C#:Word ドキュメントに脚注を挿入・削除する方法

Word ドキュメントから脚注を削除

既存の脚注を手動で検索して削除するのは時間と労力がかかります。以下の手順で、すべての脚注を一度にプログラムで削除することができます。

  • Document インスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.Sections プロパティを使用して、指定したセクションを取得します。
  • セクション内の各段落を巡回し、脚注を検索します。
  • Paragraph.ChildObjects.RemoveAt() メソッドを使用して脚注を削除します。
  • Document.SaveToFile() メソッドを使用して結果のドキュメントを保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace RemoveFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentインスタンスを作成
            Document document = new Document();

            // サンプルのWordドキュメントをロード
            document.LoadFromFile("output/テキストに脚注を追加.docx");

            // 最初のセクションを取得
            Section section = document.Sections[0];

            // セクション内の各段落を巡回して脚注を探す
            foreach (Paragraph para in section.Paragraphs)
            {
                int index = -1;
                for (int i = 0, cnt = para.ChildObjects.Count; i < cnt; i++)
                {
                    ParagraphBase pBase = para.ChildObjects[i] as ParagraphBase;
                    if (pBase is Footnote)
                    {
                        index = i;
                        break;
                    }
                }

                if (index > -1)

                    // 脚注を削除
                    para.ChildObjects.RemoveAt(index);
            }

            // 結果のドキュメントを保存
            document.SaveToFile("output/脚注を削除.docx", FileFormat.Docx);
            document.Close();
        }
    }
}

C#:Word ドキュメントに脚注を挿入・削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word ドキュメントを印刷することは、デジタルのテキストを紙に出力するための基本的なスキルです。レポートや履歴書、エッセイなど、あらゆる書類をハードコピーとして作成する際に、効率的に Word ドキュメントを印刷する方法を理解していれば、時間を節約でき、プロフェッショナルな仕上がりを確保できます。この記事では、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 ドキュメントを印刷する

PrintDocument クラスを使用することで、プログラマーは特定のプリンターに Word ドキュメントを送信し、ページ範囲、印刷部数、両面印刷、用紙サイズなどの印刷設定を指定できます。Spire.Doc for .NET を使用して Word ドキュメントを印刷するための手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.PrinterSettings.FromPage および ToPage プロパティで印刷するページ範囲を指定します。
  • PrintDocument.PrinterSettings.Copies プロパティで印刷部数を指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。
  • C#
using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";

            // 印刷するページ範囲を指定
            printDoc.PrinterSettings.FromPage = 1;
            printDoc.PrinterSettings.ToPage = 10;

            // 印刷するコピー数を設定
            printDoc.PrinterSettings.Copies = 1;

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# で Word ドキュメントを静かに印刷する

静かな印刷(サイレントプリント)とは、印刷プロセスや印刷のステータスを表示しない印刷方法です。サイレント印刷を有効にするには、PrintControllerStandardPrintController に設定します。詳細な手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.PrintController プロパティで PrintControllerStandardPrintController に設定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。
  • C#
using Spire.Doc;
using System.Drawing.Printing;

namespace SilentlyPrintWord
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "NPI7FE2DF (HP Color LaserJet MFP M281fdw)";

            // 印刷コントローラーをStandardPrintControllerに指定
            printDoc.PrintController = new StandardPrintController();

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# で Word ドキュメントを PDF に印刷する

物理的なプリンターで Word ドキュメントを印刷するだけでなく、Microsoft Print to PDF や Microsoft XPS Document Writer などの仮想プリンターを使用してドキュメントを印刷することもできます。Spire.Doc for .NET を使用して Word を PDF に印刷する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティで「Microsoft Print to PDF」を指定します。
  • PrintDocument.PrinterSettings.PrintFileName プロパティで出力ファイルのパスと名前を指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。
  • C#
using Spire.Doc;
using System.Drawing.Printing;

namespace PrintWordToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // ドキュメントをファイルに印刷
            printDoc.PrinterSettings.PrintToFile = true;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "Microsoft Print to PDF";

            // 出力ファイルのパスと名前を指定
            printDoc.PrinterSettings.PrintFileName = "ToPDF.pdf";

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# でカスタムサイズの用紙に Word ドキュメントを印刷する

印刷物が特定のサイズ要件を満たす必要がある場合や、特定の用途に合わせて印刷する必要がある場合、用紙サイズを設定することが重要です。Spire.Doc for .NET を使用してカスタムサイズの用紙に Word を印刷する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • PrintDocument.DefaultPageSettings.PaperSize プロパティで用紙サイズを指定します。
  • PrintDocument.Print() メソッドでドキュメントを印刷します。
  • C#
using Spire.Doc;
using System.Drawing.Printing;

namespace PrintOnCustomSizedPaper
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントオブジェクトを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // プリンタ名を指定
            printDoc.PrinterSettings.PrinterName = "NPI7FE2DF(HP Color LaserJet MFP M281fdw)";

            // 用紙サイズを指定
            printDoc.DefaultPageSettings.PaperSize = new PaperSize("custom", 500, 800);

            // ドキュメントを印刷
            printDoc.Print();
        }
    }
}

C# で 1 枚のシートに複数ページを印刷する

1 枚のシートに複数ページを印刷することは、紙の節約やコンパクトな冊子の作成に役立ちます。複数ページを 1 枚に印刷する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.PrintDocument プロパティを介して PrintDocument オブジェクトを取得します。
  • PrintDocument.PrinterSettings.PrinterName プロパティでプリンター名を指定します。
  • Document.PrintMultipageToOneSheet() メソッドを使用して、1 枚のシートに印刷するページ数を指定し、ドキュメントを印刷します。

: この機能は .NET Framework 5.0 以降には対応していません。

  • C#
using Spire.Doc;
using Spire.Doc.Printing;
using System.Drawing.Printing;

namespace PrintMultiplePagesOnOneSheet
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを作成
            Document doc = new Document();

            // Wordドキュメントをロード
            doc.LoadFromFile("Sample.docx");

            // PrintDocumentオブジェクトを取得
            PrintDocument printDoc = doc.PrintDocument;

            // 片面印刷を有効にする
            printDoc.PrinterSettings.Duplex = Duplex.Simplex;

            // 1枚の用紙に印刷するページ数を指定してドキュメントを印刷
            
            doc.PrintMultipageToOneSheet(PagesPreSheet.TwoPages, false);
        }
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 表の罫線を追加、変更、削除することで、データの可読性、美しさ、整理が向上します。罫線を追加することで、セルごとの内容が明確になり、情報を迅速に見分けやすくなります。罫線のスタイル(線の太さ、色、パターンなど)を変更することで、重要なデータを強調したり、視覚的な流れを導いたり、特定の文書スタイルやデザイン要件に適合させることができます。一方で、罫線を削除することで、視覚的な混雑を抑え、データをよりコンパクトでミニマルに表現できる場合もあります。特に厳密な区切りが不要なデータの提示や、構造の視覚的な強調を避けたい場合に適しています。

この記事では、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 表に罫線を追加する

Word 表全体のセルに罫線を設定するには、各セルを繰り返し処理し、その視覚的な罫線プロパティを設定する必要があります。以下は詳細な手順です:

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[0] を使用して文書の最初のセクションを取得します。
  • Section.Tables[0] を使用して、そのセクションの最初の表を取得します。
  • 表内のすべてのセルを繰り返し処理します。
  • TableCell.CellFormat.Borders.BorderTypeBorderStyle.Single に設定して、セルの罫線を単線にします。
  • TableCell.CellFormat.Borders.LineWidth を 1.5 に設定し、罫線の幅を 1.5 ポイントに指定します。
  • TableCell.CellFormat.Borders.ColorColor.Black に設定し、罫線の色を黒にします。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいDocumentオブジェクトを作成
            Document doc = new Document();

            // ファイルから文書をロード
            doc.LoadFromFile("Sample.docx");

            // 文書の最初のセクションを取得
            Section section = doc.Sections[0];

            // そのセクションの最初のテーブルを取得
            Table table = (Table)section.Tables[0];

            // ループ内で使用するTableRowとTableCell変数を宣言
            TableRow tableRow;
            TableCell tableCell;

            // テーブル内のすべての行を反復処理
            for (int i = 0; i < table.Rows.Count; i++)
            {
                // 現在の行を取得
                tableRow = table.Rows[i];

                // 現在の行内のすべてのセルを反復処理
                for (int j = 0; j < tableRow.Cells.Count; j++)
                {
                    // 現在のセルを取得
                    tableCell = tableRow.Cells[j];

                    // 現在のセルの枠線スタイルを単一線に設定
                    tableCell.CellFormat.Borders.BorderType = Spire.Doc.Documents.BorderStyle.Single;
                }
            }

            // 変更された文書を新しいファイルとして保存
            doc.SaveToFile("output/Wordの表に罫線を追加.docx");

            // リソースを解放するために文書を閉じる
            doc.Close();
        }
    }
}

C#:Word 表の罫線を追加、変更、または削除する方法

C# で Word 表の罫線を変更する

Spire.Doc では、TableCell.CellFormat.Borders.BorderType(罫線のスタイル)、TableCell.CellFormat.Borders.LineWidth(罫線の幅)、TableCell.CellFormat.Borders.Color(罫線の色)など、さまざまな罫線プロパティを提供しています。これらのプロパティをカスタマイズして、目的の効果を実現できます。以下は詳細な手順です:

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[0] を使用して文書の最初のセクションを取得します。
  • Section.Tables[0] を使用して、セクション内の最初の表を取得します。
  • 罫線スタイルを変更したいセルを繰り返し処理します。
  • セルの下罫線の色を TableCell.CellFormat.Borders.Bottom.ColorColor.PaleVioletRed に変更します。
  • セルの下罫線のスタイルを TableCell.CellFormat.Borders.Bottom.BorderTypeBorderStyle.DotDash に変更します。
  • セルの下罫線の幅を TableCell.CellFormat.Borders.Bottom.LineWidth で 2 ポイントに変更します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいDocumentオブジェクトを作成
            Document doc = new Document();

            // ファイルから文書をロード
            doc.LoadFromFile("output/Wordの表に罫線を追加.docx");

            // 文書の最初のセクションを取得
            Section section = doc.Sections[0];

            // そのセクションの最初のテーブルを取得
            Table table = (Table)section.Tables[0];

            // ループ内で使用するTableRowを宣言
            TableRow tableRow;

            // テーブルのすべての行を反復処理
            for (int i = 1; i < table.Rows.Count - 1; i++)
            {
                tableRow = table.Rows[i];

                // 現在のセルの境界線の色を設定
                tableRow.Cells[1].CellFormat.Borders.Bottom.Color = Color.PaleVioletRed;

                // 現在のセルの境界線スタイルをDotDashに設定
                tableRow.Cells[1].CellFormat.Borders.Bottom.BorderType = BorderStyle.DotDash;

                // 境界線の幅を設定
                tableRow.Cells[1].CellFormat.Borders.Bottom.LineWidth = 2;
            }

            // 変更された文書を新しいファイルとして保存
            doc.SaveToFile("output/Wordの表の罫線を変更.docx", FileFormat.Docx2016);

            // 文書を閉じてリソースを解放
            doc.Close();
        }
    }
}

C#:Word 表の罫線を追加、変更、または削除する方法

C# で Word 表の罫線を削除する

Word 文書を扱う際、罫線スタイルは表全体に適用されるだけでなく、個々のセルにも拡張してカスタマイズすることが可能です。表のすべての罫線を完全に削除するには、まず表自体に対して罫線削除設定を適用し、その後、各セルを個別に処理して罫線スタイルをクリアすることが推奨されます。以下は詳細な手順です:

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Section.Tables[0] を使用してセクション内の最初の表を取得します。
  • 表内のすべてのセルを繰り返し処理します。
  • Table.TableFormat.Borders.BorderType = BorderStyle.None を設定して、表全体の罫線を削除します。
  • TableCell.CellFormat.Borders.BorderType = BorderStyle.None を設定して、各セルの罫線を削除します。
  • Document.SaveToFile() メソッドを使用して Word 文書の変更を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいDocumentオブジェクトを作成
            Document doc = new Document();

            // ファイルから文書をロード
            doc.LoadFromFile("output/Wordの表に罫線を追加.docx");

            // 文書の最初のセクションを取得
            Section section = doc.Sections[0];

            // そのセクションの最初のテーブルを取得
            Table table = (Table)section.Tables[0];

            // テーブルの枠線を削除
            table.TableFormat.Borders.BorderType = BorderStyle.None;

            // ループで使用するTableRowを宣言
            TableRow tableRow;

            // テーブル内のすべての行を反復処理
            for (int i = 0; i < table.Rows.Count; i++)
            {
                tableRow = table.Rows[i];
                for (int j = 0; j < tableRow.Cells.Count; j++)
                {
                    // セルのすべての枠線を削除
                    tableRow.Cells[j].CellFormat.Borders.BorderType = BorderStyle.None;
                }
            }

            // 変更された文書を新しいファイルとして保存
            doc.SaveToFile("output/Wordの表の罫線を削除.docx", FileFormat.Docx2016);

            // リソースを解放するために文書を閉じる
            doc.Close();
        }
    }
}

C#:Word 表の罫線を追加、変更、または削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書内の表には、財務データや調査結果、統計記録など、貴重な情報が含まれていることがよくあります。これらの表に含まれるデータを抽出することで、詳細なデータ分析やトレンドの特定、他のツールやデータベースとのシームレスな統合など、さまざまな目的に活用できるチャンスが広がります。この記事では、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 では、Section.Tables プロパティを使用して、Word 文書のセクションに含まれる表にアクセスできます。このプロパティは、各セクション内の表を表す ITable オブジェクトのコレクションを返します。ITable オブジェクトを取得したら、各行やセルを繰り返し処理し、cell.Paragraphs[index].Text プロパティを使用して各セルのテキスト内容を取得します。表を抽出する手順は以下の通りです:

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • 文書内のセクションを繰り返し処理し、Section.Tables プロパティを通じて各セクションの表コレクションを取得します。
  • 各セクションの表を繰り返し処理し、各表の内容を保存するための文字列オブジェクトを作成します。
  • 各表の行と各行内のセルを繰り返し処理し、TableCell.Paragraphs[index].Text プロパティを使用して各セルのテキストを取得し、そのテキストを文字列に追加します。
  • 各文字列をテキストファイルに保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Collections;
using Spire.Doc.Interface;
using System.IO;
using System.Text;

namespace ExtractWordTable
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのオブジェクトを作成
            Document doc = new Document();
            // Word文書をロード
            doc.LoadFromFile("Sample.docx");

            // 文書内のセクションを反復処理
            for (int sectionIndex = 0; sectionIndex < doc.Sections.Count; sectionIndex++)
            {
                // 現在のセクションを取得
                Section section = doc.Sections[sectionIndex];

                // セクションのテーブルコレクションを取得
                TableCollection tables = section.Tables;

                // セクション内のテーブルを反復処理
                for (int tableIndex = 0; tableIndex < tables.Count; tableIndex++)
                {
                    // 現在のテーブルを取得
                    ITable table = tables[tableIndex];

                    // テーブルデータを格納する文字列を初期化
                    string tableData = "";

                    // テーブル内の行を反復処理
                    for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++)
                    {
                        // 現在の行を取得
                        TableRow row = table.Rows[rowIndex];
                        // 行内のセルを反復処理
                        for (int cellIndex = 0; cellIndex < row.Cells.Count; cellIndex++)
                        {
                            // 現在のセルを取得
                            TableCell cell = table.Rows[rowIndex].Cells[cellIndex];

                            // セル内のテキストを取得
                            string cellText = "";
                            for (int paraIndex = 0; paraIndex < cell.Paragraphs.Count; paraIndex++)
                            {
                                cellText += (cell.Paragraphs[paraIndex].Text.Trim() + " ");
                            }

                            // テキストを文字列に追加
                            tableData += cellText.Trim();
                            if (cellIndex < table.Rows[rowIndex].Cells.Count - 1)
                            {
                                tableData += "\t";
                            }
                        }

                        // 改行を追加
                        tableData += "\n";
                    }

                    // テーブルデータをテキストファイルに保存
                    string filePath = Path.Combine("Tables", $"Section{sectionIndex + 1}_Table{tableIndex + 1}.txt");

                    File.WriteAllText(filePath, tableData, Encoding.UTF8);
                }
            }

            doc.Close();
        }
    }
}

C#:Word 文書から表を抽出する方法

C# で Word 文書から Excel ファイルに表を抽出する

抽出した表データをテキストファイルに保存するだけでなく、Spire.XLS for .NET ライブラリを使用して Excel ワークシートに直接書き込むこともできます。Spire.XLS for .NET を使用する前に、NuGet を介してインストールする必要があります:

Install-Package Spire.XLS

Word 文書から Excel ワークシートに表を抽出する手順は以下の通りです:

  • Document クラスのオブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Workbook クラスのオブジェクトを作成し、Workbook.Worksheets.Clear() メソッドを使用してデフォルトのワークシートをクリアします。
  • 文書内のセクションを繰り返し処理し、Section.Tables プロパティを通じて各セクションの表コレクションを取得します。
  • 各セクション内の表を繰り返し処理し、Workbook.Worksheets.Add() メソッドを使用して、各表ごとにワークシートをブックに追加します。
  • 各表の行と各行内のセルを繰り返し処理し、TableCell.Paragraphs[index].Text プロパティを使用して各セルのテキストを取得し、Worksheet.SetCellValue() メソッドを使用してワークシートにテキストを書き込みます。
  • Workbook.SaveToFile() メソッドを使用してワークブックを保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Interface;
using Spire.Xls;

namespace ExtractWordTableToExcel
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのオブジェクトを作成
            Document doc = new Document();
            // Word文書をロード
            doc.LoadFromFile("Sample.docx");

            // Workbookクラスのオブジェクトを作成
            Workbook wb = new Workbook();
            // デフォルトのワークシートを削除
            wb.Worksheets.Clear();

            // 文書内のセクションを反復処理
            for (int sectionIndex = 0; sectionIndex < doc.Sections.Count; sectionIndex++)
            {
                // 現在のセクションを取得
                Section section = doc.Sections[sectionIndex];
                // セクション内のテーブルを反復処理
                for (int tableIndex = 0; tableIndex < section.Tables.Count; tableIndex++)
                {
                    // 現在のテーブルを取得
                    ITable table = section.Tables[tableIndex];
                    // ワークブックにワークシートを追加
                    Worksheet ws = wb.Worksheets.Add($"Section{sectionIndex + 1}_Table{tableIndex + 1}");

                    // テーブル内の行を反復処理
                    for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++)
                    {
                        // 現在の行を取得
                        TableRow row = table.Rows[rowIndex];
                        // 行内のセルを反復処理
                        for (int cellIndex = 0; cellIndex < row.Cells.Count; cellIndex++)
                        {
                            // 現在のセルを取得
                            TableCell cell = row.Cells[cellIndex];
                            // セル内のテキストを取得
                            string cellText = "";
                            for (int paraIndex = 0; paraIndex < cell.Paragraphs.Count; paraIndex++)
                            {
                                cellText += (cell.Paragraphs[paraIndex].Text.Trim() + " ");
                            }
                            // セルのテキストをワークシートに書き込む
                            ws.SetCellValue(rowIndex + 1, cellIndex + 1, cellText);
                        }
                        // ワークシート内の列幅を自動調整
                        ws.Range.AutoFitColumns();
                    }
                }
            }

            // ワークブックをExcelファイルに保存
            wb.SaveToFile("Tables/Wordの表をExcelに抽出.xlsx", ExcelVersion.Version2016);
            doc.Close();
            wb.Dispose();
        }
    }
}

C#:Word 文書から表を抽出する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書内の表は、データを明確かつ構造的に整理するのに役立ちます。しかし、文書が複雑になるにつれて、表の構造を調整する必要が生じることがあります。複数の表を結合して包括的に表示したり、大きな表を分割して可読性を向上させたりすることで、データの提示が大幅に改善されます。この記事では、Spire.Doc for .NET を使用して、C# で Word 文書内の表を結合または分割する方法を説明します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

C# で Word 文書内の表を結合する

Spire.Doc for .NET を使用すると、他の表からすべての行を対象の表にコピーし、その後他の表を削除することで、2つ以上の表を1つに結合できます。以下はその詳細手順です。

  • Document のインスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して、Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して、指定したセクションを取得します。
  • セクション内の2つの表を section.Tables[] プロパティで取得します。
  • 2番目の表のすべての行を Table.Rows[].Clone() メソッドを使用してコピーします。
  • 2番目の表の行を Table.Rows.Add() メソッドを使用して1番目の表に追加します。
  • Document.SaveToFile() メソッドを使用して、文書を保存します。
  • C#
using Spire.Doc;

namespace CombineTables
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントのインスタンスを作成
            Document doc = new Document();

            // Word ドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            // 最初のセクションを取得
            Section section = doc.Sections[0];

            // セクション内の最初と2番目のテーブルを取得
            Table table1 = section.Tables[0] as Table;
            Table table2 = section.Tables[1] as Table;

            // table2の行をtable1に追加
            for (int i = 0; i < table2.Rows.Count; i++)
            {
                table1.Rows.Add(table2.Rows[i].Clone());
            }

            // table2を削除
            section.Tables.Remove(table2);

            // 結果のドキュメントを保存
            doc.SaveToFile("Word文書内の表をマージ.docx", FileFormat.Docx);
            doc.Close();
        }
    }
}

C#:Word 文書内の表を結合または分割する方法

C# で Word 文書内の表を分割する

表を2つ以上に分割するには、新しい表を作成し、元の表から指定した行を新しい表にコピーし、元の表からそれらの行を削除します。以下はその詳細手順です。

  • Document のインスタンスを作成します。
  • Document.LoadFromFile() メソッドを使用して、Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して、指定したセクションを取得します。
  • セクション内の指定した表を section.Tables[] プロパティで取得します。
  • 表を分割する行のインデックスを指定します。
  • Table クラスの新しいインスタンスを作成します。
  • 元の表の指定した行を Table.Rows[].Clone() メソッドを使用してコピーします。
  • 指定した行を新しい表に Table.Rows.Add() メソッドを使用して追加します。
  • コピーした行を元の表から Table.Rows.RemoveAt() メソッドを使用して削除します。
  • 新しい表をセクションに Section.Tables.Add() メソッドを使用して追加します。
  • Document.SaveToFile() メソッドを使用して、文書を保存します。
  • C#
using Spire.Doc;

namespace SplitWordTable
{
    class Program
    {
        static void Main(string[] args)
        {
            // ドキュメントのインスタンスを作成
            Document doc = new Document();

            // Word ドキュメントを読み込む
            doc.LoadFromFile("Word文書内の表をマージ.docx");

            // 最初のセクションを取得
            Section section = doc.Sections[0];

            // セクション内の最初のテーブルを取得
            Table table = section.Tables[0] as Table;

            // テーブルを5行目から分割するように指定
            int splitIndex = 5;

            // 同じスタイルで新しいテーブルを作成
            Table newTable = table.Clone();
            newTable.Rows.Clear();

            // 5行目から最後の行までを新しいテーブルに追加
            for (int i = splitIndex; i < table.Rows.Count; i++)
            {
                newTable.Rows.Add(table.Rows[i].Clone());
            }

            // 元のテーブルから行を削除
            for (int i = table.Rows.Count - 1; i >= splitIndex; i--)
            {
                table.Rows.RemoveAt(i);
            }

            // 新しいテーブルをセクションに追加
            section.Tables.Add(newTable);

            // 結果のドキュメントを保存
            doc.SaveToFile("Word文書内の表を分割.docx", FileFormat.Docx);
            doc.Close();
        }
    }
}

C#:Word 文書内の表を結合または分割する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書の表で列の幅を設定することは、文書の可読性と美観を最適化するために重要です。適切な列幅は、長いテキスト行が可読性を妨げるのを防ぎ、特にテキストが密に詰まった表ではその効果が顕著です。Word 文書では、パーセントと固定値の2つのアプローチを提供しています。パーセント値を使用して列幅を設定することで、異なる画面サイズに応じて表を調整し、コンテンツが整然と配置され、読みやすさが向上します。一方、固定値を使用することで、表の構造を正確に制御でき、一貫性とプロフェッショナリズムが確保され、厳格なデータ配置要件や複雑なレイアウトが求められるデザインに適しています。

この記事では、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 の表で列幅をパーセント値で設定する際には、まず表の優先幅のタイプをパーセントに設定する必要があります。これは、Table.PreferredWidth = new PreferredWidth(WidthType.Percentage, (short)100) で行います。その後、各列を繰り返し処理し、必要に応じて同じまたは異なるパーセント値を設定します。以下は詳細な手順です。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Sections[0] を使用して文書の最初のセクションを取得します。
  • Section.Tables[0] を使用してセクション内の最初の表を取得します。
  • for ループを使用して、表内のすべての行を繰り返し処理します。
  • TableRow.Cells[index].SetCellWidth(value, CellWidthType.Percentage) メソッドを使用して、異なる列のセルに対して列幅をパーセント値で設定します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいDocumentオブジェクトを作成
            Document doc = new Document();

            // "Sample.docx"という名前のドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            // ドキュメントの最初のセクションを取得
            Section section = doc.Sections[0];

            // セクション内の最初のテーブルをTable型にキャスト
            Table table = (Table)section.Tables[0];

            // PreferredWidthオブジェクトを作成し、幅タイプをパーセンテージに設定し、幅の値を100%に設定
            PreferredWidth percentageWidth = new PreferredWidth(WidthType.Percentage, (short)100);

            // テーブルの推奨幅を上で作成したPreferredWidthオブジェクトに設定
            table.PreferredWidth = percentageWidth;

            // TableRow型の変数を定義
            TableRow tableRow;

            // テーブル内のすべての行を繰り返し処理
            for (int i = 0; i < table.Rows.Count; i++)
            {
                // 現在の行を取得
                tableRow = table.Rows[i];

                // 最初の列のセルの幅を34%に設定し、タイプをパーセンテージに設定
                tableRow.Cells[0].SetCellWidth(34, CellWidthType.Percentage);

                // 2番目の列のセルの幅を33%に設定し、タイプをパーセンテージに設定
                tableRow.Cells[1].SetCellWidth(33, CellWidthType.Percentage);

                // 3番目の列のセルの幅を33%に設定し、タイプをパーセンテージに設定
                tableRow.Cells[2].SetCellWidth(33, CellWidthType.Percentage);
            }

            // 修正したドキュメントを保存し、ファイル形式をDocx2016として指定
            doc.SaveToFile("output/パーセントで列幅を設定.docx", FileFormat.Docx2016);

            // ドキュメントを閉じる
            doc.Close();
        }
    }
}

C#:Word 文書の表で列の幅を設定する方法

C# で固定値に基づいて列幅を設定する

Word の表で列幅を固定値で設定する際には、まず表のレイアウトを固定に設定する必要があります。これは、Table.TableFormat.LayoutType = LayoutType.Fixed で行います。その後、各列を繰り返し処理し、必要に応じて同じまたは異なる固定値を設定します。以下は詳細な手順です。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Sections[0] を使用して文書の最初のセクションを取得します。
  • Section.Tables[0] を使用してセクション内の最初の表を取得します。
  • for ループを使用して、表内のすべての行を繰り返し処理します。
  • TableRow.Cells[index].SetCellWidth(value, CellWidthType.Point) メソッドを使用して、異なる列のセルに対して列幅を固定値で設定します。ここで、value はポイントで指定したい幅に置き換えます。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;

namespace SpireDocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 新しいDocumentオブジェクトを作成
            Document doc = new Document();

            // ドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            // ドキュメントの最初のセクションを取得
            Section section = doc.Sections[0];

            // セクション内の最初のテーブルをTable型にキャスト
            Table table = (Table)section.Tables[0];

            // テーブルレイアウトタイプを固定に設定
            table.TableFormat.LayoutType = LayoutType.Fixed;

            // テーブルの自動サイズ変更モードを無効に設定
            table.TableFormat.IsAutoResized = false;

            // 左マージンを取得
            float leftMargin = section.PageSetup.Margins.Left;

            // 右マージンを取得
            float rightMargin = section.PageSetup.Margins.Right;

            // 左右のマージンを引いたページ幅を計算
            double pageWidth = section.PageSetup.PageSize.Width - leftMargin - rightMargin - 70;

            // TableRow型の変数を定義
            TableRow tableRow;

            // テーブル内のすべての行をループ
            for (int i = 0; i < table.Rows.Count; i++)
            {
                // 現在の行を取得
                tableRow = table.Rows[i];

                // 最初の列のセルの幅をページ幅の34%に設定
                tableRow.Cells[0].SetCellWidth((float)(pageWidth * 0.34), CellWidthType.Point);

                // 2番目の列のセルの幅をページ幅の33%に設定
                tableRow.Cells[1].SetCellWidth((float)(pageWidth * 0.33), CellWidthType.Point);

                // 3番目の列のセルの幅をページ幅の33%に設定
                tableRow.Cells[2].SetCellWidth((float)(pageWidth * 0.33), CellWidthType.Point);
            }

            // 修正したドキュメントを保存し、ファイル形式をDocx2016として指定
            doc.SaveToFile("output/固定値で列幅を設定.docx", FileFormat.Docx2016);

            // ドキュメントを閉じる
            doc.Close();
        }
    }
}

C#:Word 文書の表で列の幅を設定する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書のコメント機能は、文書の内容を変更したり中断させたりせずに、他の人が自分の意見や見解を追加するのに最適な方法を提供します。誰かが文書にコメントを付けると、文書の作成者や他のユーザーがそのコメントに返信し、文書を同時に閲覧していなくても、コメントを通じて議論を行うことができます。この記事では、Spire.Doc for .NET を使用して C# で Word 文書にコメントを追加、返信、または削除する方法を説明します。

Spire.Doc for .NET をインストールします

まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Doc

Word 文書内の段落にコメントを追加する

Spire.Doc for .NET では、Paragraph.AppendComment() メソッドを使用して特定の段落にコメントを追加できます。以下はその手順です:

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[int] プロパティを通じて、文書内の特定のセクションにアクセスします。
  • Section.Paragraphs[int] プロパティを通じて、セクション内の特定の段落にアクセスします。
  • Paragraph.AppendComment() メソッドを使用して段落にコメントを追加します。
  • Comment.Format.Author プロパティを使用してコメントの作成者を設定します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace AddComments
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを初期化する
            Document document = new Document();
            // Wordドキュメントを読み込む
            document.LoadFromFile("Sample.docx");

            // ドキュメント内の最初のセクションを取得する
            Section section = document.Sections[0];

            // セクション内の最初の段落を取得する
            Paragraph paragraph = section.Paragraphs[4];
            // 段落にコメントを追加する
            Comment comment = paragraph.AppendComment("LEDスクリーン技術の詳細については、この段落で説明する必要がある。");
            // コメントの作成者を設定する
            comment.Format.Author = "Janny";
            comment.Format.Initial = "J";

            // 結果のドキュメントを保存する
            document.SaveToFile("output/段落にコメントを追加.docx");
            document.Close();
        }
    }
}

C#:Word 文書にコメントを追加、返信、削除する方法

Word 文書内のテキストにコメントを追加する

Paragraph.AppendComment() メソッドは段落全体にコメントを追加するためのものです。デフォルトでは、コメントマークは段落の末尾に配置されます。特定のテキストにコメントを追加するには、Document.FindString() メソッドを使用してテキストを検索し、そのテキストの先頭と末尾にコメントマークを配置する必要があります。以下はその手順です:

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.FindString() メソッドを使用して文書内の特定のテキストを検索します。
  • 見つかったテキストの先頭と末尾に、それぞれコメント開始マークと終了マークを作成します。
  • Comment クラスのインスタンスを初期化して新しいコメントを作成し、コメントの内容と作成者を設定します。
  • 見つかったテキストの所有段落を取得し、コメントを子オブジェクトとして段落に追加します。
  • テキスト範囲の前にコメント開始マークを、テキスト範囲の後にコメント終了マークを挿入します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace AddCommentsToText
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを初期化する
            Document document = new Document();
            // Wordドキュメントを読み込む
            document.LoadFromFile("Sample.docx");

            // 特定の文字列を検索する
            TextSelection find = document.FindString("紙幣", false, true);

            // コメント開始マークとコメント終了マークを作成する
            CommentMark commentmarkStart = new CommentMark(document);
            commentmarkStart.Type = CommentMarkType.CommentStart;
            CommentMark commentmarkEnd = new CommentMark(document);
            commentmarkEnd.Type = CommentMarkType.CommentEnd;

            // コメントを作成し、その内容と作成者を設定する
            Comment comment = new Comment(document);
            comment.Body.AddParagraph().Text = "紙幣がいつどこで発明されたのか、詳細を知りたい。";
            comment.Format.Author = "Sam";

            // 見つかった文字列を単一のテキスト範囲として取得する
            TextRange range = find.GetAsOneRange();

            // テキスト範囲の所有者段落を取得する
            Paragraph para = range.OwnerParagraph;

            // 段落にコメントを追加する
            para.ChildObjects.Add(comment);

            // 段落内のテキスト範囲のインデックスを取得する
            int index = para.ChildObjects.IndexOf(range);

            // コメントマーク開始とコメントマーク終了にコメントIDを設定する
            commentmarkStart.CommentId = comment.Format.CommentId;
            commentmarkEnd.CommentId = comment.Format.CommentId;

            // テキスト範囲の前にコメント開始マークを挿入する
            para.ChildObjects.Insert(index, commentmarkStart);
            // テキスト範囲の後にコメント終了マークを挿入する
            para.ChildObjects.Insert(index + 2, commentmarkEnd);

            // 結果のドキュメントを保存する
            document.SaveToFile("output/テキストにコメントを追加.docx");
            document.Close();
        }
    }
}

C#:Word 文書にコメントを追加、返信、削除する方法

Word 文書内のコメントに返信する

既存のコメントに返信を追加するには、Comment.ReplyToComment() メソッドを使用します。以下はその手順です:

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Comments[int] プロパティを通じて、文書内の特定のコメントにアクセスします。
  • Comment クラスのインスタンスを初期化して新しいコメントを作成し、コメントの内容と作成者を設定します。
  • Comment.ReplyToComment() メソッドを使用して、新しいコメントを特定のコメントに対する返信として追加します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Fields;

namespace ReplyToComments
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを初期化する
            Document document = new Document();
            // Wordドキュメントを読み込む
            document.LoadFromFile("output/テキストにコメントを追加.docx");

            // ドキュメント内の最初のコメントを取得する
            Comment comment1 = document.Comments[0];

            // 新しいコメントを作成し、その作成者と内容を指定する
            Comment replyComment1 = new Comment(document);
            replyComment1.Format.Author = "Jack";
            replyComment1.Body.AddParagraph().AppendText("次のバージョンで追加する予定だ。");

            // 最初のコメントへの返信としてコメントを追加する
            comment1.ReplyToComment(replyComment1);

            // 結果のドキュメントを保存する
            document.SaveToFile("output/コメントへの返信.docx", FileFormat.Docx2013);
            document.Close();
        }
    }
}

C#:Word 文書にコメントを追加、返信、削除する方法

Word 文書内のコメントを削除する

Spire.Doc for .NET では、Document.Comments.RemoveAt(int) メソッドを使用して特定のコメントを削除したり、Document.Comments.Clear() メソッドを使用してすべてのコメントを削除したりすることができます。以下はその手順です:

  • Document クラスのインスタンスを初期化します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Comments.RemoveAt(int) メソッドまたは Document.Comments.Clear() メソッドを使用して、文書内の特定のコメントまたはすべてのコメントを削除します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;

namespace DeleteComments
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを初期化する
            Document document = new Document();
            // Wordドキュメントを読み込む
            document.LoadFromFile("output/コメントへの返信.docx");

            // ドキュメント内の最初のコメントを削除する
            //document.Comments.RemoveAt(0);

            // ドキュメント内のすべてのコメントを削除する
            document.Comments.Clear();

            // 結果のドキュメントを保存する
            document.SaveToFile("output/コメントを削除.docx", FileFormat.Docx2013);
            document.Close();
        }
    }
}

C#:Word 文書にコメントを追加、返信、削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word ドキュメントで表の行と列を追加・削除する機能は、情報の正確性、明確さ、関連性を維持するために非常に重要です。追加の行や列を加えることで、表の元の構造を変更し、データの変化に対応することができます。逆に、不必要な行や列を削除することで、ドキュメントを簡潔にし、読みやすくすることが可能です。本記事では、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 を使用すると、Table.AddRow() または Table.Rows.Insert() メソッドを用いて、Word ドキュメント内の表の末尾に行を追加したり、特定の位置に行を挿入したりすることができます。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用して、セクション内の特定の表を取得します。
  • Table.Rows.Insert(int index, TableRow row) メソッドを使用して、表内の特定の位置に行を挿入します。
  • Table.AddRow() メソッドを使用して、表の末尾に行を追加します。
  • Document.SaveToFile() メソッドを使用して、結果を保存します。
  • C#
using Spire.Doc;

namespace AddRows
{
    class Program
    {
        static void Main(string[] args)
        {
            //Documentオブジェクトを作成
            Document doc = new Document();

            //Wordドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            //最初のセクションを取得
            Section section = doc.Sections[0];

            //セクション内の最初の表を取得
            Table table = (Table)section.Tables[0];

            //表の3行目に行を挿入
            table.Rows.Insert(2, table.AddRow());

            //表の末尾に行を追加
            table.AddRow();

            //結果を保存
            doc.SaveToFile("output/表の行を追加.docx");
            doc.Close();
        }
    }
}

C#:Word 文書で表の行や列を追加・削除する方法

C# で Word ドキュメントの表に列を追加・挿入する

Spire.Doc for .NET には、Word ドキュメント内の表に列を直接追加・挿入するためのメソッドがありません。しかし、TableRow.AddCell() または TableRow.Cells.Insert() メソッドを用いて、各表行の特定の位置にセルを追加・挿入することで、この操作を実現できます。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用して、セクション内の特定の表を取得します。
  • ループ処理を行い、表内の各行を取得します。
  • TableRow.Cells.Insert() メソッドを使用して、各行の特定の位置に TableCell オブジェクトを挿入します。
  • TableRow.Cells[].SetCellWidth() メソッドを使用して、セルの幅を設定します。
  • TableRow.AddCell() メソッドを使用して、各行の末尾にセルを追加します。
  • Document.SaveToFile() メソッドを使用して、結果を保存します。
  • C#
using Spire.Doc;

namespace AddColumns
{
    class Program
    {
        static void Main(string[] args)
        {
            //Documentオブジェクトを作成
            Document doc = new Document();

            //Wordドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            //最初のセクションを取得
            Section section = doc.Sections[0];

            //セクション内の最初の表を取得
            Table table = (Table)section.Tables[0];

            //表内の行をループ処理
            for (int i = 0; i < table.Rows.Count; i++)
            {
                //指定された行を取得
                TableRow row = table.Rows[i];

                //TableCellオブジェクトを作成
                TableCell cell = new TableCell(table.Document);

                //行の3番目のセルとして挿入
                row.Cells.Insert(2, cell);

                //セルの幅を設定
                row.Cells[2].SetCellWidth(40, CellWidthType.Point);

                //行の末尾にセルを追加
                row.AddCell();
            }

            //結果を保存
            doc.SaveToFile("output/表の列を追加.docx");
            doc.Close();
        }
    }
}

C#:Word 文書で表の行や列を追加・削除する方法

C# で Word ドキュメントの表から行と列を削除する

Word ドキュメント内の表から特定の行を削除するには、Table.Rows.RemoveAt() メソッドを直接使用できます。一方、特定の列を削除するには、各表行から対応するセルを TableRow.Cells.RemoveAt() メソッドで削除する必要があります。以下に詳細な手順を示します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用して、セクション内の特定の表を取得します。
  • Table.Rows.RemoveAt(int index) メソッドを使用して、表から特定の行を削除します。
  • ループ処理を行い、表内の各行を取得します。
  • TableRow.Cells.RemoveAt(int index) メソッドを使用して、各行から特定のセルを削除します。
  • Document.SaveToFile() メソッドを使用して、結果を保存します。
  • C#
using Spire.Doc;

namespace AddColumns
{
    class Program
    {
        static void Main(string[] args)
        {
            //Documentオブジェクトを作成
            Document doc = new Document();

            //Wordドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            //最初のセクションを取得
            Section section = doc.Sections[0];

            //セクション内の最初の表を取得
            Table table = (Table)section.Tables[0];

            //4行目を削除
            table.Rows.RemoveAt(1);

            //表内の行をループ処理
            for (int i = 0; i < table.Rows.Count; i++)
            {
                //指定された行を取得
                TableRow row = table.Rows[i];

                //行から2番目のセルを削除
                row.Cells.RemoveAt(2);
            }

            //結果を保存
            doc.SaveToFile("output/行と列の削除.docx");
            doc.Close();
        }
    }
}

C#:Word 文書で表の行や列を追加・削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Word 文書のページ罫線は、文書の視覚的な魅力や組織性を向上させるための有効なツールです。ページ罫線の追加、変更、削除を効果的に行うことで、Word 文書の外観をカスタマイズし、全体的なプレゼンテーションの質を高めることができます。

この記事では、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 は、Word 文書のページ罫線を管理するために Borders クラスを提供しています。このクラスは、罫線の種類(BorderType)、色(Color)、線の太さ(LineWidth)など、ページ罫線の外観を制御するためのプロパティを提供します。C# を使用して Word 文書のすべてのページに罫線を追加する手順は次のとおりです。

  • Document クラスのインスタンスを作成し、Document.LoadFromFile() メソッドを使用してWord文書を読み込みます。
  • 文書内のセクションを反復処理します:
    • Section.PageSetup プロパティを介してセクションの PageSetup オブジェクトを取得します。
    • PageSetup.PageBordersApplyType プロパティを PageBordersApplyType.AllPages に設定して、セクション内のすべてのページに罫線を適用します。
    • PageSetup.Borders プロパティを介してセクションの Borders オブジェクトを取得します。
    • Borders オブジェクトのプロパティを使用して、罫線の種類、色、線の太さなどの属性を設定します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace WordPageBorderAllPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを作成
            Document doc = new Document();

            // Wordドキュメントを読み込む
            doc.LoadFromFile("Sample.docx");

            // ドキュメント内のセクションを反復処理
            foreach (Section section in doc.Sections)
            {
                // セクションのPageSetupオブジェクトを取得
                PageSetup pageSetup = section.PageSetup;
                // セクション内の全ページにページ罫線を適用
                pageSetup.PageBordersApplyType = PageBordersApplyType.AllPages;
                // セクションの罫線オブジェクトを取得
                Borders borders = pageSetup.Borders;
                // ページ罫線の種類を設定
                borders.BorderType = BorderStyle.Double;
                // 罫線の幅を設定
                borders.LineWidth = 3;
                // 罫線とテキストの間のスペースを設定
                borders.Top.Space = 50;
                borders.Bottom.Space = 50;
                borders.Left.Space = 50;
                borders.Right.Space = 50;
                // 罫線の色を設定
                borders.Color = Color.AliceBlue;
            }

            // ドキュメントを保存
            doc.SaveToFile("output/全ページのページ罫線.docx");
            doc.Close();
        }
    }
}

C#:Word 文書のページ罫線を追加、変更、削除する方法

C# で Word 文書のページ罫線を変更

既存の Word 文書のページ罫線は、PageSetup.Borders クラスを通じてアクセスでき、Borders オブジェクトのプロパティを使用して外観を変更できます。C# を使用して Word 文書のページ罫線を変更する手順は次のとおりです。

  • Document クラスのインスタンスを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • 文書内のセクションを反復処理します:
    • セクションの Borders オブジェクトを取得します。
    • Borders.BorderType プロパティを使用して罫線の種類を変更します。
    • Borders クラスのプロパティを使用して、罫線の線の太さ、色、その他の属性を変更します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;

namespace ModifyWordPageBorder
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを作成
            Document doc = new Document();

            // Wordドキュメントを読み込む
            doc.LoadFromFile("output/全ページのページ罫線.docx");

            // ドキュメント内のセクションを反復処理
            foreach (Section section in doc.Sections)
            {
                // セクションの罫線オブジェクトを取得
                Borders borders = section.PageSetup.Borders;
                // 罫線の種類を変更
                borders.BorderType = BorderStyle.DoubleWave;
                // 罫線の色を変更
                borders.Color = Color.Cyan;
                // 罫線の幅を変更
                borders.LineWidth = 1;
            }

            // ドキュメントを保存
            doc.SaveToFile("output/ページ罫線を変更.docx");
            doc.Close();
        }
    }
}

C#:Word 文書のページ罫線を追加、変更、削除する方法

C# で Word 文書のページ罫線を削除

Word 文書のページ罫線を削除するには、単に Borders.BorderType プロパティを BorderStyle.None に設定します。具体的な手順は次のとおりです。

  • Document クラスのインスタンスを作成し、Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • 文書内のセクションを反復処理します:
    • Borders.BorderType プロパティを BorderStyle.None に設定して、セクションの罫線を削除します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;

namespace RemoveWordPageBorders
{
    class Program
    {
        static void Main(string[] args)
        {
            // Documentクラスのインスタンスを作成
            Document doc = new Document();

            // Wordドキュメントを読み込む
            doc.LoadFromFile("output/ページ罫線を変更.docx");

            // ドキュメント内のセクションを反復処理
            foreach (Section section in doc.Sections)
            {
                // セクションの罫線オブジェクトを取得
                Borders borders = section.PageSetup.Borders;
                // 罫線を削除するために罫線の種類をNoneに設定
                borders.BorderType = BorderStyle.None;
            }

            // ドキュメントを保存
            doc.SaveToFile("output/ページ罫線を削除.docx");
            doc.Close();
        }
    }
}

C#:Word 文書のページ罫線を追加、変更、削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

PowerPoint プレゼンテーションには、オーディエンスを追加のリソースやプレゼンテーション内の別の場所に誘導するハイパーリンクが含まれていることがよくあります。これらのリンクは、追加情報を提供したり、簡単にナビゲートしたりするのに役立ちますが、プレゼンテーションの流れを妨げたり、プロフェッショナルな外観を損なう場合があります。スライド内の無効なリンクや不要なリンクを削除することで、プレゼンテーションの全体的な質を向上させることができます。

この記事では、C# プログラムで Spire.Presentation for .NET を使用して、PowerPoint プレゼンテーションからハイパーリンクを効率的に削除する方法を紹介します。

Spire.Presentation for .NET をインストールします

まず、Spire.Presentation for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.Presentation

スライド内のテキストからハイパーリンクを削除

PowerPoint プレゼンテーションの通常のテキストは、自動シェイプ(AutoShape)に含まれています。開発者は、IAutoShape.TextFrame.Paragraphs[].TextRanges[] プロパティを使用してこれらのシェイプ内のテキスト範囲にアクセスし、TextRange.ClickAction プロパティを使用してハイパーリンクを読み取ったり設定したりすることができます。テキストのハイパーリンクは、TextRange.ClickAction プロパティを null に設定することで削除できます。

詳細な手順は次のとおりです:

  • Presentation クラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションを読み込みます。
  • プレゼンテーション内のスライドを繰り返し処理し、次にスライド内のシェイプを繰り返し処理します。
  • シェイプが IAutoShape のインスタンスであるかどうかを確認します。そうであれば、シェイプ内の段落を繰り返し処理し、次に段落内のテキスト範囲を繰り返し処理します。
  • テキスト範囲の TextRange.ClickAction プロパティが null であるかどうかを確認します。null でない場合は、TextRange.ClickAction プロパティを null に設定してハイパーリンクを削除します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace RemoveSlideTextLink
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Presentationのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
            Presentation presentation = new Presentation();
            presentation.LoadFromFile("Sample.pptx");

            // プレゼンテーション内のスライドを繰り返し処理
            foreach (ISlide slide in presentation.Slides)
            {
                // スライド内の図形を繰り返し処理
                foreach (IShape shape in slide.Shapes)
                {
                    // 現在の図形がIAutoShapeクラスのインスタンスかどうかを確認
                    if (shape is IAutoShape)
                    {
                        IAutoShape autoShape = (IAutoShape)shape;
                        // 図形内の段落を繰り返し処理
                        foreach (TextParagraph paragraph in autoShape.TextFrame.Paragraphs)
                        {
                            // 段落内のテキスト範囲を繰り返し処理
                            foreach (TextRange textRange in paragraph.TextRanges)
                            {
                                // テキスト範囲にハイパーリンクがあるかどうかを確認
                                if (textRange.ClickAction != null)
                                {
                                    // ハイパーリンクを削除
                                    textRange.ClickAction = null;
                                }
                            }
                        }
                    }
                }
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/スライドテキストのハイパーリンクを削除.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションからハイパーリンクを削除する方法

スライド内のすべてのシェイプからハイパーリンクを削除

IShape クラスは、スライド内のすべての種類のシェイプ(自動シェイプ、画像、テーブルなど)を表します。これらのすべてのシェイプ上のハイパーリンクは、IShape.Click プロパティを null に設定することで削除できます。詳細な手順は次のとおりです:

  • Presentation ラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションを読み込みます。
  • プレゼンテーション内のスライドを繰り返し処理し、次にスライド内のシェイプを繰り返し処理します。
  • IShape.Click プロパティが null であるかどうかを確認します。null でない場合は、プロパティに null を設定してハイパーリンクを削除します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace RemoveSlideShapeHyperlink
{
    class Program
    {
        static void Main(string[] args)
        {
            // Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
            Presentation presentation = new Presentation();
            presentation.LoadFromFile("Sample.pptx");

            // プレゼンテーション内のスライドを繰り返し処理
            foreach (ISlide slide in presentation.Slides)
            {
                // スライド内の図形を繰り返し処理
                foreach (IShape shape in slide.Shapes)
                {
                    // 図形にハイパーリンクがあるかどうかを確認
                    if (shape.Click != null)
                    {
                        shape.Click = null;
                    }
                }
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/スライドシェイプのハイパーリンクを削除.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションからハイパーリンクを削除する方法

特定の種類のシェイプからハイパーリンクを削除

すべてのシェイプから直接ハイパーリンクを削除するだけでなく、削除する前にシェイプの種類を判別し、指定された種類のシェイプからのみハイパーリンクを見つけて削除することもできます。詳細な手順は次のとおりです:

  • Presentation クラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションを読み込みます。
  • プレゼンテーション内のスライドを繰り返し処理し、次にスライド内のシェイプを繰り返し処理します。
  • シェイプが IEmbedImageITable、または IChart のインスタンスであるかどうかを確認します。そうであれば、シェイプの IShape.Click プロパティが null であるかどうかを確認します。null でない場合は、プロパティに null を設定してハイパーリンクを削除します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;
using Spire.Presentation.Charts;

namespace RemoveSlideShapeTypeHyperlink
{
    class Program
    {
        static void Main(string[] args)
        {
            // Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
            Presentation presentation = new Presentation();
            presentation.LoadFromFile("Sample.pptx");

            // プレゼンテーション内のスライドを繰り返し処理
            foreach (ISlide slide in presentation.Slides)
            {
                // スライド内の図形を繰り返し処理
                foreach (IShape shape in slide.Shapes)
                {
                    // 図形がIEmbedImage、ITable、またはIChartのインスタンスかどうかを確認
                    if (shape is IEmbedImage || shape is ITable || shape is IChart)
                    {
                        // シェイプにハイパーリンクがあるかどうかを確認
                        if (shape.Click != null)
                        {
                            // ハイパーリンクを削除
                            shape.Click = null;
                        }
                    }
                }
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/スライドシェイプ型のハイパーリンクを削除.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションからハイパーリンクを削除する方法

スライド内のテーブルテキストからハイパーリンクを削除

テーブル内のテキストからハイパーリンクを削除するには、テーブルのセルと各セル内のテキスト範囲を繰り返し処理する必要があります。その後、各セル内のテキスト範囲にあるハイパーリンクを TextRange.ClickAction プロパティを null に設定することで削除できます。詳細な手順は次のとおりです:

  • Presentation クラスのインスタンスを作成し、Presentation.LoadFromFile() メソッドを使用して PowerPoint プレゼンテーションを読み込みます。
  • プレゼンテーション内のスライドを繰り返し処理し、次にスライド内のシェイプを繰り返し処理します。
  • シェイプが ITable クラスのインスタンスであるかどうかを確認します。そうであれば、テーブル内の行を繰り返し処理し、次に行内のセルを繰り返し処理します。
  • セル内の段落を繰り返し処理し、次に段落内のテキスト範囲を繰り返し処理します。
  • テキスト範囲の TextRange.ClickAction プロパティが null であるかどうかを確認します。null でない場合は、プロパティの値を null に設定してハイパーリンクを削除します。
  • Presentation.SaveToFile() メソッドを使用してプレゼンテーションを保存します。
  • C#
using Spire.Presentation;

namespace RemoveSlideTableTextHyperlink
{
    class Program
    {
        static void Main(string[] args)
        {
            // Presentationクラスのインスタンスを作成し、PowerPointプレゼンテーションを読み込む
            Presentation presentation = new Presentation();
            presentation.LoadFromFile("Sample.pptx");

            // プレゼンテーション内のスライドを繰り返し処理
            foreach (ISlide slide in presentation.Slides)
            {
                // スライド内の図形を繰り返し処理
                foreach (IShape shape in slide.Shapes)
                {
                    // 図形がITableのインスタンスかどうかを確認
                    if (shape is ITable)
                    {
                        ITable table = (ITable)shape;
                        // テーブル内の行を繰り返し処理
                        foreach (TableRow row in table.TableRows)
                        {
                            // 行内のセルを繰り返し処理
                            foreach (Cell cell in row)
                            {
                                // セル内の段落を繰り返し処理
                                foreach (TextParagraph paragraph in cell.TextFrame.Paragraphs)
                                {
                                    // 段落内のテキスト範囲を繰り返し処理
                                    foreach (TextRange textRange in paragraph.TextRanges)
                                    {
                                        // テキスト範囲にハイパーリンクがあるかどうかを確認
                                        if (textRange.ClickAction != null)
                                        {
                                            // ハイパーリンクを削除
                                            textRange.ClickAction = null;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            // プレゼンテーションを保存
            presentation.SaveToFile("output/スライドテーブルのテキストハイパーリンクを削除.pptx", FileFormat.Auto);
            presentation.Dispose();
        }
    }
}

C#:PowerPoint プレゼンテーションからハイパーリンクを削除する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。