C# 添加对Office库的引用失败:找不到类型或命名空间名称Word

C# 添加对Office库的引用失败:找不到类型或命名空间名称Word,c#,.net,ms-office,office-interop,C#,.net,Ms Office,Office Interop,我正在尝试使用: 我转到“添加引用”对话框并添加了“Microsoft Word 12库”,但它没有出现在解决方案资源管理器中。我还添加了:使用Microsoft.Office 我在试图声明“Word”对象时收到以下错误消息 错误1:找不到类型或命名空间名称“Word”(是否缺少using指令或程序集引用?) 有关如何正确引用Word库的任何建议?您应该使用Microsoft.Office.Interop.Word汇编和指令 使用Microsoft.Office.Interop.Word; 您

我正在尝试使用:

我转到“添加引用”对话框并添加了“Microsoft Word 12库”,但它没有出现在解决方案资源管理器中。我还添加了:
使用Microsoft.Office

我在试图声明“Word”对象时收到以下错误消息

错误1:找不到类型或命名空间名称“Word”(是否缺少using指令或程序集引用?)


有关如何正确引用Word库的任何建议?

您应该使用Microsoft.Office.Interop.Word汇编和指令

使用Microsoft.Office.Interop.Word;

您安装了哪个版本的office?我猜是不同的。您可以在此处看到官方名称到版本的映射:

编辑:已更改,因此不使用剪贴板

using Microsoft.Office.Interop.Word;

public string Test(string path)
{
    Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
    object file = path;
    object nullobj = System.Reflection.Missing.Value;

    Document doc = wordApp.Documents.Open(ref file, ref nullobj, ref nullobj,
                                           ref nullobj, ref nullobj, ref nullobj,
                                           ref nullobj, ref nullobj, ref nullobj,
                                           ref nullobj, ref nullobj, ref nullobj);

    string result = doc.Content.Text.Trim();
    doc.Close();
    return result;
}

您正在使用的技术要求您在开发人员机器和任何部署目标机器上安装特定版本的Word

自Office2007以来,Office文档使用开放XML格式存储。可以使用.NET Framework中的打包和XML API读取和修改这些文档。您还可以使用OpenXMLSDK在打包和XMLAPI之上为您提供更高级别的抽象层。使用此技术时,未安装Word以供开发或生产使用

有关使用开放式XML的更多信息,请访问以下链接:


我添加了对microsoft word对象库的引用,并使用microsoft.Office.Interop.word编写了
在顶部。但是代码没有起作用。我正在使用此链接中给出的代码:

然后,我用“Microsoft.Office.Interop.Word”更改了代码中的所有“Word”,它成功了

  • 确保已添加对Microsoft.Office.Interop.Word的引用。您可以通过右键单击引用,选择“添加引用”,然后在“.NET”选项卡下查找Microsoft.Office.Interop.Word来添加引用

  • 在程序文件中插入:

    使用Word=Microsoft.Office.Interop.Word

    注意“Word=”,这是解决痛苦的秘诀。顺便说一句,你必须安装Word

    当我不确定用户是否安装了Word时,我是这样做的:

  • //一,。这段代码创建word应用程序,这是操作word文件的第一步

    Word.ApplicationClass wordApplication;
    try { wordApplication = new Word.ApplicationClass(); }
    catch (Exception e) { MessageBox.Show("ERROR! Do you have MS Word installed? " + e.Message.ToString()); }
    

    使用这个

    using Excel = Microsoft.Office.Interop.Excel;
    
    而不是

    using Microsoft.Office.Interop.Word; 
    

    我确实有一个比编写教程的人更新的版本,但基本功能肯定仍然可以使用吗?我使用Microsoft.Office.Interop.Word添加了这个版本;它没有帮助:(I get error:error 1找不到类型或命名空间名称“IDataObject”(是否缺少using指令或程序集引用?)C:\Users\…\Documents\visualstudio 2010\WebSites\Copying1\u 1\Default.aspx.cs 106 13 C:\…\Copying1\u 1\n这是一个asp.net网站,所以它不允许我写:使用System.Windows.Forms;@Dave-是的,它使用的是剪贴板,而不是真正的asp。我已将代码更新为使用
    doc.Content.Text.Trim()
    相反,这可能会起作用。我实际上还没有尝试过上面的代码,在服务器上使用它可能不是很好(特别是在负载较重的情况下),但现在可能会起作用。