„Nie możesz edytować tego wyboru, ponieważ jest on chroniony”, ale tylko od wersji Office 2013?
Od kilku lat te kilka linii kodu działa w naszych aplikacjach z radością (i w kilku wersjach Office, 2003, 2007, 2010 itd.). Celem jest wykonanie korespondencji seryjnej w dokumencie programu Word, zastępując zastępcze pola nazwami, adresami itp. Z bazy danych:
Dim w As Word.Application
Dim d As Microsoft.Office.Interop.Word.Document = Nothing
...
Dim f As Microsoft.Office.Interop.Word.Field
For Each f In d.Fields
f.Select()
If fieldName = w.Selection.Text Then
f.Result.Text = value
End If
Next
Jednak użytkownik korzystający z pakietu Office 2013 zgłasza ten błąd w liniif.Result.Text = value
:
System.Runtime.InteropServices.COMException (0x800A17EC): Nie możesz edytować tego wyboru, ponieważ jest on chroniony.
Dzieje się tak tylko wtedy, gdy użytkownik uruchamia Office 2013 i jest bardzo mało pomocy online dla tego błędu.
Żadna część dokumentu nie jest chroniona, a użytkownik może bez problemu edytować dokument bezpośrednio w programie Word.