.net环境,C#语言开发,操作word时,出现异常,而异常是在数据量多的时候出现,数据量相对较少时不出现。显然不是权限问题。
经验证,怀疑是word拼写检查造成的。
当向word 插入大量数据后,word 的自动拼写检查检测到大量的拼写错误,于是word 弹出了一个提示框,提示用户存在过多的拼写错误。而我们程序操作word 是让word 运行在后台,所以程序并不知道word弹了一个对话框。当程序继续向word 插入数据时,因为word 的对话框阻塞的word 的进程,所以就会报“消息筛选器显示应用程序正在使用中”错误。
本次异常的信息如下:
消息筛选器显示应用程序正在使用中。 (异常来自 HRESULT:0x8001010A (RPC_E_SERVERCALL_RETRYLATER))
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 消息筛选器显示应用程序正在使用中。 (异常来自 HRESULT:0x8001010A (RPC_E_SERVERCALL_RETRYLATER))。
源错误:
行 19190: object missingValue = Type.Missing;
行 19191: object doNotSaveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
行 19192: doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue);
行 19193: appword.Application.Quit(ref miss, ref miss, ref miss);
行 19194: doc = null;
源文件: d:\VisualStudio2013\Projects\SmartTDMP20170907\Cmdi.Smart.BLL\Report.cs 行: 19192
堆栈跟踪:
[COMException (0x8001010a): 消息筛选器显示应用程序正在使用中。 (异常来自 HRESULT:0x8001010A (RPC_E_SERVERCALL_RETRYLATER))]
Microsoft.Office.Interop.Word.DocumentClass.Close(Object& SaveChanges, Object& OriginalFormat, Object& RouteDocument) +0
Cmdi.Smart.BLL.Report.ProjectDesignSafeReport(String cProjectGuid) in d:\VisualStudio2013\Projects\SmartTDMP20170907\Cmdi.Smart.BLL\Report.cs:19192
SmartTMP.ControllersAddDesignF.DesignManageController.exportDesignReport() in d:\VisualStudio2013\Projects\SmartTDMP20170907\SmartTMP\Controllers\DesignManageController.cs:7183
lambda_method(Closure , ControllerBase , Object[] ) +101
为了避免这个错误,使用word操作函数关闭word的拼写检查,问题解决了。
appword = new Microsoft.Office.Interop.Word.Application();
appword.Visible = false;
object objTrue = true;
object objFalse = false;
object objDocType = Microsoft.Office.Interop.Word.WdDocumentType.wdTypeDocument;
doc = (Microsoft.Office.Interop.Word.DocumentClass)appword.Documents.Add(ref tempeletePath, ref objFalse, ref objDocType, ref objTrue);
doc.SpellingChecked = false;//关闭拼写检查
doc.ShowSpellingErrors = false;//关闭显示拼写错误提示框
相关推荐
本实例中,首先创建了一个Windows窗体应用程序,然后使用C#操作Word文档,添加文本内容到Word文档中。 知识点1:Word文档的Range属性 Word文档中的Range属性是用来定义文档中的文本范围的。通过使用Range属性,...
在C#中操作Word文档,通常使用Microsoft Office Interop库,这是一个允许.NET应用程序与Office应用程序交互的组件。以下是一些关键知识点和实现方法: 1. **引用Microsoft Word对象库**: 在C#项目中,首先需要...
根据提供的文件信息,我们可以归纳出两个主要的知识点:一是如何使用C#操作Word文档并插入图片;二是如何利用C#批量替换Word文档中的书签文本。下面将对这两个知识点进行详细解析。 ### 一、使用C#操作Word文档并...
C#操作Word是指使用C#语言来操作Microsoft Word文档的过程。通过使用C#语言,可以实现对Word文档的读取、写入、编辑、打印等操作。本文将对C#操作Word的基本概念、实现方法、常见问题等进行详细的介绍。 一、基本...
自定义消息是在Windows API中定义的,它们允许开发者扩展内置的消息系统,以处理应用程序特定的需求。在C#中,我们可以利用P/Invoke(Platform Invoke)技术调用Windows API函数来实现这一功能。 首先,定义一个...
首先,我们需要了解如何在C#中使用Microsoft.Office.Interop.Word库来操作Word。这个库提供了与Word交互的接口,允许我们在代码中创建、读取和修改Word文档。以下是一些基本步骤: 1. 引用Microsoft.Office.Interop...
- **创建Word应用程序实例**:创建一个Word应用程序实例,用于打开文档和执行其他操作。 ```csharp Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.Application...
在本文中,我们将深入探讨如何使用C#编程语言在Windows Forms(WinForm)应用程序中嵌入和操作Microsoft Word文档。这个主题主要适用于那些希望通过C#与Word交互,创建、编辑或展示Word文档的开发者。我们将从标题和...
当你需要在C#程序中集成Word编辑功能时,会涉及到Microsoft Office Interop库或者第三方控件的使用。本文将深入探讨如何利用C#来操作Word的编辑控件。 1. **Microsoft Office Interop**: 这是微软提供的一个接口,...
首先,"C# Word编辑器"是指在C#编程语言中创建的应用程序,能够对Word文档进行读取、编辑和保存等操作。这通常通过Microsoft的COM组件(Component Object Model)接口来实现,即使用InterOp服务,它可以调用Office...
6. **对话框(Dialogs)**:C#窗体应用程序还允许使用对话框,如打开文件对话框(OpenFileDialog)、保存文件对话框(SaveFileDialog)和消息框(MessageBox),以增强用户体验。 7. **多线程**:在一些复杂的应用...
c# winform 显示word 解决了 不能在winform窗体上显示word文档的问题 该程序能完美的将word文档显示在winform窗体中
在C#编程环境中,开发人员经常需要处理与Microsoft Office应用程序,特别是Word相关的任务。本教程将深入探讨如何使用C#来打开Word文档并显示其内容,这对于初学者来说是一个非常实用的技能。以下是你需要知道的关键...
综上所述,"C#实现word转图片"涉及到的知识点包括C#编程、Adobe Professional API(尽管不是直接使用)、Ghostscript的集成、进程调用、图像处理、文件I/O、异常处理、多线程编程、设计模式以及服务器部署和配置。...
包括: C#操作Word.doc C#操作Word表格.doc C#操作WORD辅助类.txt c#操作word模板插入文字...C#操作Word在Word文档中插入图片.docx C#用word模板做文档.doc 收集的C#操作Word的各种代码。直接复制粘贴到程序里面即可。
在C#编程环境中,利用Microsoft.Office.Interop.Word库可以实现对Word文档进行批量查找和替换的操作。这个功能在处理大量文档时非常有用,例如在企业中更新标准文本、修改报告模板或者统一格式等场景。以下是对这个...
本教程“C#入门:基于C#的Windows窗口应用程序教程与实例”是为那些希望踏入编程世界的初学者设计的,它将引导你从零开始学习如何使用C#和Visual Studio开发环境构建功能丰富的Windows应用程序。 首先,让我们深入...
在本文中,我们将深入探讨如何使用C#编程语言来实现获取Windows任务管理器中的所有应用程序名称。这个功能在系统监控、性能分析或者自动化脚本中可能会非常有用。首先,我们需要理解Windows API(应用程序接口)的...