VS 2010中不存在Microsoft.Office.Interop.Word.FormFields.Item

时间:2011-02-14 16:57:39

标签: visual-studio-2010 ms-word office-interop

我正在将Visual Studio 2005和.Net 2中设计的Windows应用程序升级到Visual Studio 2010.该应用程序的一项功能允许最终用户打开现有的MS Word文档,该文档预先填充了来自活动窗口(即客户帐户#,名称等)。设置字段值的现有代码如下:

public void SetField(string fieldName, string value)
{
    object fName = fieldName;
    try
    {
        document.FormFields.Item(ref fName).Result = value;
    }
    catch (COMException ex)
    {
        if (ex.Message != "The requested member of the collection does not exist.")
        throw;
    }
}

“Item”方法不再存在。有替代品吗?

1 个答案:

答案 0 :(得分:1)

the documentation猜测,看起来它只是变成一个索引 - 所以也许

document.FormFields[fName].Result = value;

(最初我有FormFields[ref fName] - 如下面评论ref错误。)