チュートリアル

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

チュートリアル».NET»Spire.Doc for .NET»ブックマーク»C#:Word 文書でブックマークを追加・削除する方法
2024-08-29

C#: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# で段落にブックマークを追加する

Spire.Doc を使用して、段落の先頭に BookmarkStart オブジェクトを挿入し、段落の終わりに BookmarkEnd オブジェクトを挿入することで、段落にブックマークを作成できます。ブックマークの開始点と終了点の間のスペースが定義されたブックマークとなり、必要に応じて参照・アクセスすることができます。

段落にブックマークを追加する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Sections[].Paragraphs[] プロパティを使用して、セクションから段落を取得します。
  • Paragraph.AppendBookmarkStart() メソッドを使用して BookmarkStart オブジェクトを作成します。
  • 選択した段落の先頭に BookmarkStart を挿入します。
  • Paragraph.AppendBookmarkEnd() メソッドを使用して、段落の終わりに BookmarkEnd オブジェクトを追加します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;

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

            // Wordファイルをロード
            doc.LoadFromFile("Sample.docx");

            // 指定された段落を取得
            Paragraph paragraph = doc.Sections[0].Paragraphs[1];

            // ブックマークの開始を作成
            BookmarkStart start = paragraph.AppendBookmarkStart("段落ブックマーク");

            // 段落の最初に挿入
            paragraph.Items.Insert(0, start);

            // 段落の最後にブックマークの終了を追加
            paragraph.AppendBookmarkEnd("段落ブックマーク");

            // ファイルを保存
            doc.SaveToFile("output/段落にブックマークを追加.docx", FileFormat.Docx2019);

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:Word 文書でブックマークを追加・削除する方法

C# で段落内の特定のテキストにブックマークを追加する

特定のテキストにブックマークを追加するには、まず段落内のテキストとその位置を見つける必要があります。次に、テキストの前に BookmarkStart オブジェクトを、テキストの後ろに BookmarkEnd オブジェクトを挿入します。

Spire.Doc を使用して段落内の特定のテキストにブックマークを追加する手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.FindAllString() メソッドを使用して文書からテキストを検索し、TextSelection.GetAsOneRange().OwnerParagraph プロパティを使用して、その段落内での位置を取得します。
  • Paragraph.AppendBookmarkStart() メソッドを使用して BookmarkStart オブジェクトを作成します。
  • 選択したテキストの前に BookmarkStart を挿入します。
  • Paragraph.AppendBookmarkEnd() メソッドを使用して BookmarkEnd オブジェクトを作成します。
  • 選択したテキストの後ろに BookmarkEnd オブジェクトを挿入します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;
using Spire.Doc.Documents;

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

            // Wordファイルをロード
            doc.LoadFromFile("Sample.docx");

            // 検索する文字列を指定
            string stringToFind = "不換紙幣";

            // ドキュメントから選択されたテキストを検索
            TextSelection[] finds = doc.FindAllString(stringToFind, false, true);
            TextSelection specificText = finds[0];

            // テキストがある段落を見つける
            Paragraph para = specificText.GetAsOneRange().OwnerParagraph;

            // 段落内のテキストのインデックスを取得
            int index = para.ChildObjects.IndexOf(specificText.GetAsOneRange());

            // ブックマークの開始を作成
            BookmarkStart start = para.AppendBookmarkStart("テキストブックマーク");

            // インデックス位置にブックマークの開始を挿入
            para.ChildObjects.Insert(index, start);

            // ブックマークの終了を作成
            BookmarkEnd end = para.AppendBookmarkEnd("テキストブックマーク");

            // 選択されたテキストの最後にブックマークの終了を挿入
            para.ChildObjects.Insert(index + 2, end);

            // ドキュメントを別のファイルに保存
            doc.SaveToFile("output/ブックマークをテキストに追加.docx", FileFormat.Docx2019);

            // リソースを解放
            doc.Dispose();
        }
    }
}

C#:Word 文書でブックマークを追加・削除する方法

C# で Word 文書からブックマークを削除する

Word 文書から特定のブックマークまたはすべてのブックマークを削除するには、Bookmarks.Remove() メソッドまたは Bookmarks.Clear() メソッドを使用します。詳細な手順は以下の通りです。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書をロードします。
  • Document.Bookmarks[index] プロパティを使用して、文書内の特定のブックマークをインデックスで取得します。
  • Bookmarks.Remove() メソッドを使用してブックマークを削除します。
  • すべてのブックマークを一度に削除するには、Document.Bookmarks.Clear() メソッドを使用します。
  • Document.SaveToFile() メソッドを使用して文書を保存します。
  • C#
using Spire.Doc;

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

            // Wordファイルをロード
            doc.LoadFromFile("output/ブックマークをテキストに追加.docx");

            // インデックスで特定のブックマークを取得
            Bookmark bookmark = doc.Bookmarks[0];

            // ブックマークを削除
            doc.Bookmarks.Remove(bookmark);

            // すべてのブックマークを一度に削除
            // doc.Bookmarks.Clear();

            // ドキュメントを保存
            doc.SaveToFile("output/ブックマークを削除.docx", FileFormat.Docx2019);

            // リソースを解放
            doc.Dispose();
        }
    }
}

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

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

Read 819 times