Рекомендуемый C #. Сетевой код для замены закладки текстом кажется очень простым, и я видел один и тот же код по всей сети на очень многих веб-сайтах (включая ваш, из сообщения от сентября 2009 г.), однако я не могу обойти ошибку
диапазон не может быть удален. в Microsoft.Office.Interop.Word.Range.set_Text (String prop)
(я использую VS 2010 с Windows 7 и Word 2010 14.0).
Мой код:
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;
}
}