打开并修改Word文档

时间:2013-04-27 14:26:30

标签: c# asp.net ms-word ms-office

我想使用“Microsoft.Office.Interop.Word”打开保存在我服务器中的word文件。 这是我的代码:

    object missing = System.Reflection.Missing.Value;
    object readOnly = false;
    object isVisible = true;
    object fileName = "http://localhost:52099/modelloBusta/prova.dotx";
    Microsoft.Office.Interop.Word.ApplicationClass applicationWord = new Microsoft.Office.Interop.Word.ApplicationClass();
    Microsoft.Office.Interop.Word.Document modelloBusta = new  Microsoft.Office.Interop.Word.Document();

    try
    {

        modelloBusta = applicationWord.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref  missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible,ref missing, ref missing, ref missing, ref missing);
        modelloBusta.Activate();



    }
    catch (COMException eccezione){
        Console.Write(eccezione);
        modelloBusta.Application.Quit(ref missing, ref missing, ref missing);

    }

在Windows任务管理器中存在进程,但不显示“word文档”(应用程序无法启动)。 问题是什么? 提前谢谢。

3 个答案:

答案 0 :(得分:20)

在自动执行Word时,您需要确保Word应用程序窗口实际可见:

var applicationWord = new Microsoft.Office.Interop.Word.Application();
applicationWord.Visible = true;

答案 1 :(得分:7)

首先通过直接添加到资源来添加office.interop的dll然后使用指令添加它:

using Microsoft.Office.Interop.Word;

并使用以下代码

Application ap = new Application();
Document document = ap.Documents.Open(@"C:\invoice.docx");;

答案 2 :(得分:5)

http://support.microsoft.com/kb/257757

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。

http://freeword.codeplex.com/

Document document = new Document();
document.LoadFromFile("test.doct");