"Sie sind nicht berechtigt, diese zu Bearbeiten Auswahl, weil es geschützt ist." aber erst seit Office 2013?
Wir hatten diese paar Zeilen code laufen freudig in unsere Anwendungen für mehrere Jahre (und in mehreren Office-Versionen 2003, 2007, 2010 usw.). Zweck ist die Durchführung eine Art von Seriendruck in ein Word-Dokument, wobei die Feld-Platzhalter, die mit Namen, Adressen, usw. aus einer Datenbank:
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
Jedoch ein Benutzer die Ausführung von Office 2013 meldet diese Fehler, auf der Linie f.Result.Text = value
:
System.- Laufzeit.InteropServices.COMException (0x800A17EC): Sie sind nicht
Bearbeiten dürfen Sie diese Auswahl, weil es geschützt ist.
So ist dies nur geschieht, wenn der Benutzer die Ausführung von Office 2013 und es gibt sehr wenig online-Hilfe für diesen Fehler.
Kein Teil des Dokuments geschützt ist, und der Benutzer kann das Dokument direkt Bearbeiten in Word ohne Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Verzweiflung, Schleppnetzfischerei für die Antworten, auch in blog-posts und Diskussionen weit entfernt von diesem bestimmten Fehler-es scheint, es gab eine änderung in Office 2013, um die Standard-Behandlung der ReadingLayout.
Einführung der Linie
w.ActiveWindow.View.ReadingLayout = False
zu haben scheint unser problem geloest.ReadingLayout
obwohl, ich denke es wurde in einer späteren version, so habe ichw.ActiveWindow.View.Type = wdPageView
statt.Hatten wir einige C# - Automatisierung, arbeitete gut mit Word 2007/2010, hielt aber mit Word 2013 mit dem gleichen "Sie sind nicht berechtigt ..." - Warnung.
Folgenden Schritte auf dieser Website das Problem gelöst.
Grundsätzlich gibt es zwei Einstellungen überprüfen:
Du nicht angeben, wie das Dokument geöffnet wird, aber ein problem hatte ich gelöst, indem nach der Antwort akzeptiert diese Frage.
Wechsel von
WordApplication.Documents.Open()
zuWordApplication.Documents.Add()
das Problem gelöst für meine Anwendung.In meinem Fall, dieser Fehler wurde verursacht durch die Anwesenheit von Inhaltssteuerelementen mit
.LockContentControl == true
.Um dieses Problem zu umgehen, baute ich eine
IEnumerable<ContentControl>
des Inhalts-Steuerelemente mit dieser Eigenschaft auf true festgelegt, und legen Sie.LockContentControl = false
.Jetzt kann ich
.InsertColumnsRight()
ohne ein problem. Dann habe ich die Wiederherstellung der.LockContentControl = true
alle Inhaltssteuerelemente in meiner Sammlung.Versuchten die meisten der obigen Vorschläge, aber ich fand das problem behoben wurde.
Wir waren die Eröffnung der doc als Vorlage im read-only-mit einem Kennwort.
So konnte nicht 'Hinzufügen'
Documents.Open(strTemplateDoc, ReadOnly:=True, PasswordDocument:=strDocPassword, Visible:=False)
Einstellung der Ansicht.Typ wdNormalView aufgehört die Fehler
"Sie sind nicht berechtigt, diese zu Bearbeiten Auswahl, weil es geschützt ist"
Danke an alle anderen für Ihre Vorschläge - Sie hat mir sehr geholfen.
Diesem geschehen um mich für die letzten zwei Tage (während der Erstellung einer dotm-Vorlage) und was für Feste es war für mich das erstellen einer neuen normal.dotx! Weiß nicht, ob das funktionieren wird für andere oder nicht, aber es hat für mich!
Wenn Sie ein Dokument öffnen, angeben, dass es sollte nicht als schreibgeschützt geöffnet
Für mich, das Problem war ähnlich wie Tim Dols Antwort, aber ich brauchte, um zu entsperren die Inhalt von der content-Kontrolle., das ist die
LockContents
Eigenschaft:mycontentcontrol.LockContents = False
Für @CrazyIvan1974, das problem bei dieser Lösung ist, dass Add erstellt ein neues Dokument. wenn Sie in einem vorhandenen Dokument, wenn Sie mit Hinzufügen, es muss nicht laden Sie das Dokument, erstellt ein neues Dokument mit dem original als Vorlage. Können, trennen Sie die Vorlagen und add-ins, wirklich Durcheinander, wenn Sie Sie über die original -