Foreach循环错误消息

本文关键字:消息 错误 循环 Foreach | 更新日期: 2023-09-27 18:10:25

有人知道为什么下面的代码:

foreach (Word.XMLSchemaReference reference in Globals.ThisDocument.Application.ActiveDocument)
{
}

给我:

错误1 foreach语句不能操作类型的变量"Microsoft.Office.Interop.Word。文档",因为"Microsoft.Office.Interop.Word。文档'不包含公共'GetEnumerator'的定义C:'Program Files'MicrosoftOffice'Templates'Projects'Project1'Project1'ActionsPaneControl1.cs 1054 13 Project1

我在一个Word文档级项目的操作窗格控件中有该代码,该项目是用VS2013使用c# . net 4.0 for Word 2010创建的。

我试图在该循环中运行以下代码:

if (reference.NamespaceURI.Contains("ActionsPane"))
{
reference.Delete();
}

基本上,当用户重新打开已创建的文档时,用我的插件创建的文档会给用户一个消息:

此文件可使用一个或多个XML扩展包。选择从下面的列表中选择一个。没有XML扩展包Microsoft操作窗格3

所以看起来我需要在用户保存文档之前找到引用并删除它?

Foreach循环错误消息

消息非常清楚:Globals.ThisDocument.Application.ActiveDocument不实现IEnumerable。我认为您正在寻找实现XMLSchemaReference的IEnumerable的活动文档中的东西。查看Globals.ThisDocument.Application.ActiveDocument.

中的属性

您正在尝试枚举ActiveDocument。您正在尝试枚举XML模式吗?

foreach (var schema In ActiveDocument.XMLSchemaReferences){
    schema.dosomething
}