Unable to get MoveToBookmark to work for an existing document. The function always returns false.
Here is my test code:
Document doc = new Document(@"C:\temp\Marvin.docx");
DocumentBuilder builder = new DocumentBuilder();
var myBookmark = doc.Range.Bookmarks["Signature"];
bool status1 = builder.MoveToBookmark(myBookmark.Name);
Assert.That(status1 == true, "MoveToBookmark Signature failed");
builder.Writeln("this is some Signature text");
@jeffmangasarian,
Could you please ZIP and attach your input document ? We will investigate the issue and provide you information on it.
Here is document.Marvin.zip (22.7 KB)
@jeffmangasarian The problem occurs because in your code you do not pass Document
object into the DocumentBuilder
constructor. Your code should looks like this:
Document doc = new Document(@"C:\temp\Marvin.docx");
DocumentBuilder builder = new DocumentBuilder(doc ); // Pass the Document into the constructor.
var myBookmark = doc.Range.Bookmarks["Signature"];
bool status1 = builder.MoveToBookmark(myBookmark.Name);
Assert.That(status1 == true, "MoveToBookmark Signature failed");
builder.Writeln("this is some Signature text");
When you use DocumentBuilder
constructor without parameters it creates an empty document internally. So in your case the builder was not associated with your document.
Thank you. Yes that works.