.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;//关闭显示拼写错误提示框
相关推荐
本文将详细介绍在Asp.net环境中使用`Microsoft.Office.Interop.Word.Application`对象时可能出现的“拒绝访问”及“消息筛选器显示应用程序正在使用中”等异常,并提供相应的解决方案。 #### 二、异常分析与解决...
实例148 在水晶报表中使用公式字段 实例149 设计分组统计报表 实例150 打印一个空学生证 实例151 自定义横向或纵向打印 实例152 自定义打印页码范围 第14章 文件及数据流技术 实例153 根据日期动态建立文件 实例154...
实例148 在水晶报表中使用公式字段 260 实例149 设计分组统计报表 261 实例150 打印一个空学生证 264 实例151 自定义横向或纵向打印 266 实例152 自定义打印页码范围 268 第14章 文件及数据流技术 271 实例153 根据...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...
3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...
exe:可执行文件的扩展名,在Windows系统中使用。 - **正确答案**: B. class ### 表结构修改工具 - **选项分析**: - A. 表设计器:用于创建或修改表结构的工具。 - B. 数据库设计器:通常用于设计整个数据库的...
- **软件运行环境**: 为应用程序提供运行环境,包括但不限于进程管理、内存管理、文件系统支持等。 ### 4. ASCII码 **ASCII**(American Standard Code for Information Interchange)码是基于拉丁字母的一套电脑...
在线招聘管理系统是一款基于C#编程语言开发的应用程序,主要用于企业的人力资源部门进行高效、便捷的招聘流程管理。系统的核心功能可能包括发布职位、收集应聘者简历、筛选候选人、安排面试以及跟踪招聘进度等。由于...