Diese wenigen Codezeilen wurden in unseren Anwendungen seit einigen Jahren (und in verschiedenen Versionen von Office, 2003, 2007, 2010 usw.) erfolgreich ausgeführt. Zweck ist, eine Art Seriendruck in einem Word-Dokument durchzuführen, wobei die Feldplatzhalter durch Namen, Adressen usw. aus einer Datenbank ersetzt werden:
%Vor%...
%Vor% Ein Benutzer, der Office 2013 ausführt, meldet diesen Fehler jedoch in der Zeile f.Result.Text = value
:
System.Runtime.InteropServices.COMException (0x800A17EC): Sie sind nicht darf diese Auswahl bearbeiten, da sie geschützt ist.
Dies geschieht also nur, wenn der Benutzer Office 2013 ausführt, und es gibt sehr wenig Online-Hilfe für diesen Fehler.
Kein Teil des Dokuments ist geschützt, und der Benutzer kann das Dokument ohne Probleme direkt in Word bearbeiten.
In Verzweiflung, Trawling für Antworten sogar in Blog-Posts und Diskussionen weit entfernt von diesem speziellen Fehler scheint es eine Änderung in Office 2013 zu der Standardbehandlung des ReadingLayout.
Die Einführung der Zeile w.ActiveWindow.View.ReadingLayout = False
scheint unser Problem gelöst zu haben.
Wir hatten einige C # -Automatisierungen, die mit Word 2007/2010 gut funktionierten, stoppten jedoch mit Word 2013 mit der Warnung "Sie sind nicht erlaubt ...".
Folgende Schritte auf dieser Website löste das Problem.
Grundsätzlich müssen zwei Einstellungen überprüft werden:
Sie geben nicht an, wie das Dokument geöffnet wird, aber ein Problem, das ich hatte, wurde gelöst, indem Sie die Antwort unter diese Frage .
Der Wechsel von WordApplication.Documents.Open()
nach WordApplication.Documents.Add()
hat das Problem für meine Anwendung behoben.
In meinem Fall wurde dieser Fehler durch das Vorhandensein von Inhaltskontrollen mit .LockContentControl == true
verursacht.
Um dieses Problem zu umgehen, habe ich ein IEnumerable<ContentControl>
der Inhaltssteuerelemente mit dieser Eigenschaft auf true festgelegt und .LockContentControl = false
festgelegt.
Jetzt kann ich .InsertColumnsRight()
ohne ein Problem. Dann stelle ich das .LockContentControl = true
für alle Inhaltssteuerelemente in meiner Sammlung wieder her.
Für mich war das Problem ähnlich wie bei Tim Dols, aber ich musste den Inhalt des Content-Steuerelements entsperren., das ist die LockContents
-Eigenschaft:
mycontentcontrol.LockContents = False
Für @ CrazyIvan1974 besteht das Problem mit dieser Lösung darin, dass Add ein neues Dokument erstellt. Wenn Sie bei Verwendung von "Hinzufügen" auf ein vorhandenes Dokument zeigen, wird das Dokument nicht geladen. Es wird ein neues Dokument mit dem Original als Vorlage erstellt. Dadurch können Vorlagen und Add-Ins getrennt werden, was wirklich zu Problemen führt, wenn Sie über das Original speichern.
Tags und Links .net office-interop word-2013