Il codice C# .net consigliato per sostituire un segnalibro con testo appare molto semplice e ho visto lo stesso codice su tutta la rete su tanti siti Web (tuttavia, non è possibile superare l'erroreL'intervallo non può essere cancellato. in Microsoft.Office.Interop.Word.Range.set_Text (String prop)
L'intervallo non può essere eliminato. a Microsoft.Office.Interop.Word.Range.set_Text (String prop)
(sto usando CONTRO 2010 con Windows 7 e Word 2010 14,0).
Il mio codice:
private void ReplaceBookmarkText(Microsoft.Office.Interop.Word.Document doc, string bookmarkName, string text)
{
try
{
if (doc.Bookmarks.Exists(bookmarkName))
{
Object name = bookmarkName;
// throws error 'the range cannot be deleted'
doc.Bookmarks.get_Item(ref name).Range.Text = text;
}
}
Questo funziona, non ti capita di avere l'alternativa Late Binding? – Schuere