首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“不允许编辑此选择,因为它是受保护的。”但只在2013年办公室之后?

“不允许编辑此选择,因为它是受保护的。”但只在2013年办公室之后?
EN

Stack Overflow用户
提问于 2013-07-11 13:06:35
回答 8查看 17.6K关注 0票数 13

几年来,这几行代码在我们的应用程序中运行得很愉快(以及Office的几个版本,2003、2007、2010等)。目的是在Word文档中执行一种邮件合并,用数据库中的名称、地址等替换字段占位符:

代码语言:javascript
复制
    Dim w As Word.Application
    Dim d As Microsoft.Office.Interop.Word.Document = Nothing

..。

代码语言:javascript
复制
    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

但是,运行Office 2013的用户在行f.Result.Text = value上报告此错误:

System.Runtime.InteropServices.COMException (0x800A17EC):您不允许编辑此选择,因为它是受保护的。

因此,只有当用户正在运行Office 2013时才会发生这种情况,而且对于此错误几乎没有在线帮助。

文档的任何部分都不受保护,用户可以在Word中直接编辑文档,而不会出现任何问题。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-07-11 13:17:20

在绝望中,拖网搜索答案,甚至在博客文章和讨论中,远离这一特定错误,看来Office 2013的默认处理方式已经发生了变化。

引入w.ActiveWindow.View.ReadingLayout = False似乎解决了我们的问题。

票数 22
EN

Stack Overflow用户

发布于 2014-03-11 16:33:41

我们有一些C#自动化,它在Word 2007/2010中运行得很好,但是停止了Word 2013,并说了同样的“你不允许.”警告。

以下有关此站点的步骤解决了这个问题。

基本上有两个设置需要检查:

  • 档案-选项-一般。取消选中“在读取视图中打开电子邮件附件和其他不可编辑的文件”
  • 文件-选项-信任中心-信任中心设置。选择“受保护视图”,然后清除所有复选框。
票数 4
EN

Stack Overflow用户

发布于 2014-04-04 14:11:10

您没有指定如何打开文档,但是通过遵循这个问题上接受的答案解决了一个问题。

WordApplication.Documents.Open()切换到WordApplication.Documents.Add()解决了我的应用程序的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17594211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档