foreach循环错误消息

时间:2014-06-27 08:42:07

标签: c# .net ms-office vsto

任何人都知道以下代码的原因:

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

}

给我:

  

错误1 foreach 语句无法对类型变量进行操作   ' Microsoft.Office.Interop.Word.Document'因为   ' Microsoft.Office.Interop.Word.Document'不包含公众   ' GetEnumerator'的定义C:\ Program Files \ Microsoft   Office \ Templates \ Projects \ Project1 \ Project1 \ ActionsPaneControl1.cs 1054 13 Project1

我在Word文档级项目的动作窗格控件中有该代码,该项目是使用VS#13使用C#.Net 4.0 for Word 2010创建的。

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

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

基本上,使用我的插件创建的文档会在用户重新打开创建的文档时向用户发送消息:

  

此文件有一个或多个XML扩展包。选择   一个来自下面的列表。没有XML扩展包Microsoft Actions窗格   3

所以我似乎需要找到引用并在用户保存文档之前将其删除?

2 个答案:

答案 0 :(得分:1)

消息非常清楚:Globals.ThisDocument.Application.ActiveDocument没有实现IEnumerable。我认为您正在寻找实现IEnumerable XMLSchemaReference的活动文档中的内容。检查Globals.ThisDocument.Application.ActiveDocument。

中的属性

答案 1 :(得分:1)

您正在尝试枚举ActiveDocument。您是否试图枚举XML模式?

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