消息筛选器显示应用程序正在使用中(Word操作,非组件权限问题)的解决发方案_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 消息筛选器显示应用程序正在使用中(Word操作,非组件权限问题)的解决发方案

消息筛选器显示应用程序正在使用中(Word操作,非组件权限问题)的解决发方案

 2013/9/5 19:14:36  最终的阿瓦隆  博客园  我要评论(0)
  • 摘要:刚刚在写有关Word的操作,其中之一就是数据表的导出。代码运行一开始没有问题,但是数据量大了以后,导出一半,就报了“消息筛选器显示应用程序正在使用中”的错误,让我百思不得其解。反复检查了代码确信代码没有问题。于是上网找解决方法。但是网上说的都是一些组件权限问题引起的拒绝访问的错误。而我操作Word确是偶尔会遇到这个错误,一般情况下正常,只有数据量大时才会报这个错。所以觉得很诡异。想来想去,只有一种可能会导致这样的问题,那就是有其它程序在访问我所操作的Word或者Word的进程被程序占用了
  • 标签:程序 解决 使用 问题 应用 操作 应用程序

刚刚在写有关Word的操作,其中之一就是数据表的导出。代码运行一开始没有问题,但是数据量大了以后,导出一半,就报了“消息筛选器显示应用程序正在使用中”的错误,让我百思不得其解。反复检查了代码确信代码没有问题。于是上网找解决方法。但是网上说的都是一些组件权限问题引起的拒绝访问的错误。而我操作Word确是偶尔会遇到这个错误,一般情况下正常,只有数据量大时才会报这个错。所以觉得很诡异。

想来想去,只有一种可能会导致这样的问题,那就是有其它程序在访问我所操作的Word或者Word的进程被程序占用了。但是到底是什么东西在作怪呢。我反复试验了几次之后算是明白。现在来说说导致这个问题的根源:

原因就是:word拼写检查

当我向Word插入大量数据后,Word的自动拼写检查检测到大量的拼写错误,于是Word弹出了一个提示框,提示用户存在过多的拼写错误。而我们程序操作Word是让Word运行在后台,所以程序并不知道Word弹了一个对话框。当程序继续向Word插入数据时,因为Word的对话框阻塞的Word的进程,所以就会报“消息筛选器显示应用程序正在使用中”错误。

知道根源后解决起来就简单了:

引用 Microsoft.Office.Interop.Word.dll

Word.Application word=new Word.ApplicationClass();

Word.Document doc=word.Documents.Add(ref missing,ref missing,ref missing,ref missing);

doc.SpellingChecked=false;

doc.ShowSpellingErrors=fase;

关闭Word的拼写检查就行了。

问题解决OK。

发表评论
用户名: 匿名