2016-12-06 8 views
0

ブックマークのテキストを設定する非常に基本的なヘルパーメソッドがあります。私は必要なものAspose.Wordsは、ブックマークを含む行(行)を削除します。

public static Bookmark SetBookmark(this Document doc, string bookmarkName, string value) 
{ 
     var bm = doc.Range.Bookmarks[bookmarkName]; 
     if(bm == null) 
      throw new NullReferenceException(string.Format("Bookmark {0} Not Found!", bookmarkName)); 
     bm.Text = value ?? string.Empty; 
     return bm; 
} 

例えば、ブックマークを削除して、一定の条件が満たされたとき、それが含まれているテキストの行を削除することですvalue == null。助言がありますか?

サンプル文書は次のようになります。
こんにちは
[ブックマーク]
さようなら

た文書を除去した後:
こんにちは
さようなら

答えて

0

空にBookmark.Textプロパティの値を設定してください。文字列を使用してコンテンツを削除し、Bookmark.Removeメソッドを使用してブックマークをドキュメントから削除します。 Bookmark.Removeメソッドは、ブックマーク内のテキストを削除しません。

私はAspose as Developerエバンジェリストを使用しています。

+0

Bookmark.Removeはブックマーク自体を削除します。私が必要とするのは、そのブックマークが置かれていた文書の行全体を取り出すことです。 – Sherlock

+0

無料のファイル共有サーバー経由でサンプルの入力ドキュメントと出力ドキュメントを共有してください。ドロップボックス。私はコード例を共有します。 - 私はAspose Developer Evangelistとして働いています。 –

+0

企業ポリシーのためにアップロードできません。ここで抽象サンプルを表示してください。 – Sherlock

0

次のコード例に示すように、Bookmark.Textプロパティの値を空の文字列に設定してコンテンツを削除してください。私は以前の答えでこれをすでに共有していました。

Document doc = new Document(MyDir + "Bookmark.doc"); 

// Use the indexer of the Bookmarks collection to obtain the desired bookmark. 
Bookmark bookmark = doc.Range.Bookmarks["MyBookmark"]; 

// Remove the contents of bookmark. 
bookmark.Text = ""; 

doc.Save(MyDir + @"Out.docx"); 

私はAspose as Developerエバンジェリストを使用しています。

関連する問題