“You are not allowed to edit this selection becaus

2019-04-06 04:13发布

We've had these few lines of code running happily in our applications for several years (and in several versions of Office, 2003, 2007, 2010 etc). Purpose is to perform a kind of a mail merge in a Word document, substituting the field placeholders with names, addresses etc from a database:

    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

However a user running Office 2013 reports this error on the line f.Result.Text = value:

System.Runtime.InteropServices.COMException (0x800A17EC): You are not allowed to edit this selection because it is protected.

So, this is only happening when the user is running Office 2013 and there's very little online help for this error.

No part of the document is protected, and the user can edit the document directly in Word without any problem.

8条回答
做个烂人
2楼-- · 2019-04-06 05:02

Tried most of the suggestions above but I found this fixed the problem. We were opening the doc as a template in read-only with a password. So couldn't use 'Add'

Documents.Open(strTemplateDoc, ReadOnly:=True, PasswordDocument:=strDocPassword, Visible:=False)

Setting the View.Type to wdNormalView stopped the error "You are not allowed to edit this selection because it is protected"

wdDocPage.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdNormalView

Thanks to all the others for their suggestions - they helped a lot.

查看更多
Ridiculous、
3楼-- · 2019-04-06 05:03

We had some C# automation that worked fine with Word 2007/2010, but stopped with Word 2013 with the same "You are not allowed ..." warning.

Following steps on this site solved the issue.

Basically there are two settings to check:

  • File – Options – General. Uncheck “Open E-Mail attachments and other uneditable files in reading view”
  • File – Options – Trust Center – Trust Center Settings. Select Protected View, then clear all the checkboxes.
查看更多
登录 后发表回答