Word 文書のブックマークは、文書内の特定のセクションに迅速に移動するために便利です。ブックマークを使用すると、文書内に「マーカー」を作成して名前を付け、簡単にジャンプすることができます。これは、特に長い文書や複雑な文書を扱う際に役立ちます。 この記事では、C# で Spire.Doc for .NET ライブラリを使用して、Word 文書にブックマークを追加および削除する方法を説明します。 C# で段落にブックマークを追加する C# で段落内の特定のテキストにブックマークを追加する C# で 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# で段落内の特定のテキストにブックマークを追加する 特定のテキストにブックマークを追加するには、まず段落内のテキストとその位置を見つける必要があります。次に、テキストの前に 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 文書からブックマークを削除する 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 日間有効な一時ライセンスを取得してください。