消息过滤器指示应用程序正忙

时间:2017-09-01 18:42:47

标签: excel vb.net visual-studio excel-interop

我已经查看了很多其他线程,但这些解决方案都没有帮助我。我正在尝试通过Microsoft.Office.Interop.Excel打开Excel以将数据加载到工作表中。我试过这个solution,但这并没有解决我的问题。我也看到其他人说设置DispayAlerts到False帮助了他们,但这并没有解决我的问题。我甚至尝试在5秒内等待,让Excel有时间完全打开,但仍然没有运气。我用来打开Excel的一小段代码示例如下。这在我安装了我的应用程序的两台机器上没有问题,但第三台(运行Excel 2010 32位的2012 R2 64位服务器)引起了各种各样的麻烦。不幸的是,因为我无法在安装了Visual Studio的测试机上复制这个,所以我无法调试错误。任何帮助将不胜感激。

Dim _excel As New Excel.Application
Dim WBook As Excel.Workbook = Nothing

_excel.DisplayAlerts = False
WBook = _excel.Workbooks.Open(Path.Combine(FolderPath, FileName))

1 个答案:

答案 0 :(得分:1)

我能够解决这个问题。使用此link创建OleMessageFilter并在此link的帮助下将我的BackgroundWorker转换为STA线程似乎可以解决问题。不得不重写我的整个后台流程,但至少它正在工作。谢谢你的帮助!