Hey,
erstmal entschuldigung wenn ich das Thema in der falschen Sparte anspreche aber ich wusste nicht genau wohin damit.
Ich erstelle eine Anwendung die ein Word-Dokument öffnet und dabei den Text von vordefinierten Lesezeichen ändern soll.
Die Anwendung ist KEIN Word Add-in, d.h. ich kann den Text nicht über
bookmark1.Text ändern. Statt dessen habe ich in der MSDN Doku nachgesehen und da eine Methode gefunden die das überschreiben trotz allem möglich macht (etwas von mir abgeändert):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private static void ReplaceBookmark(_Document doc, int bookmarknumber, object text) { Bookmark bookmark = doc.Bookmarks.Cast<Bookmark>().ToArray()[bookmarknumber];
object rng = bookmark.Range; string name = bookmark.Name;
bookmark.Range.Text = text.ToString();
doc.Bookmarks.Add(name, ref rng); } |
So, und wenn ich jetzt das Programm Debugge erhalte ich immer die Fehlermeldung: "Der Bereich kann nicht gelöscht werden" (markierte Stelle).
Ich habe mit der Methode rumgespielt und sie auch mehrfach verändert aber ich komme einfach nicht drauf warum das Lesezeichen nicht überschrieben werden kann.
Der Text der in dem 'leeren' Lesezeichen stand war "FORMTEXT ".
Weis jemand wie ich das überschreiben hinbekomme?
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler