【问题标题】:Error code 800A1066 when recreating control in Word 2007在 Word 2007 中重新创建控件时出现错误代码 800A1066
【发布时间】:2012-09-28 15:11:09
【问题描述】:

我正在使用 .dotm 文件开发 Word 2007 文档级加载项。它是一个文档,主要由文档窗格上的按钮控制,这些按钮用于创建和销毁文档的某些部分。创建的一些东西是内容控件。

一个这样的按钮是一个切换按钮,它需要删除并重新添加大约 10 个字符和一个内容控件。我的问题是,每当我尝试重新创建内容控件时,Word 都会引发 COMException,并显示消息“命令失败”和错误代码 -2146824090(或 0x800a1066)。

谷歌搜索此错误代码表明这是与使用 Open 或 SaveAs 方法与 Word 文档或网络驱动器上的文档交互相关的安全相关异常(参见帖子 here、here和here)。这根本不适合我的工作。

这是我用来删除控件的代码:

LevelControl.LockContentControl = false;
LevelControl.Delete(true);
LevelControl = null; // probably not needed

这里是娱乐代码:

DropDownListContentControl LevelControl = this.Controls.AddDropDownListContentControl(r, "SectionLevel");

这是我最初用于创建控件的同一行代码。

【问题讨论】:

    标签: c# vsto word-2007


    【解决方案1】:

    我的问题的原因是范围对象放错了位置。我无意中将范围放在另一个内容控件中,该控件仍然包含占位符文本。不幸的是,错误消息没有说明这一点。

    要确定您是否犯了同样的错误,请尝试在末尾调用r.Select() 而不是可能导致此异常的任何操作,并查看光标所在的位置。确保在执行此操作时文档不限于在字段中编辑 (Review>Protect Document>Restrict Editing and Formatting),否则它可能会在您看到之前自动移动到文档的开头或内容控件。

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 2011-11-06
      • 1970-01-01
      • 2021-04-15
      • 2014-05-25
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多