C#DSO Framer Control Exception已被调用目标抛出

时间:2013-12-05 22:15:27

标签: c# excel dsoframer

感谢您抽出宝贵时间阅读我的问题。

我正在开发一个小应用程序来执行以下操作:

  1. 阅读特定目录中的每个.xlsm报告
  2. 根据不同的报告类型获取特定字段
  3. 将字段存储在自定义类对象中
  4. 将自定义类对象存储在List<>
  5. 阅读完所有.xlsm报告后,从模板
  6. 创建新的Tally报告
  7. 从List<>中的每个自定义类对象输出数据到新的理货报告
  8. 这很有效。但是我添加了一个新功能,以便在发生异常错误时,我可以提示用户使用自定义消息框编辑或删除文档或忽略异常并继续获取剩余数据。

    当用户选择“编辑”时,它会调用一个动态生成新表单的类文件,将DSO成帧器控件添加到新表单,然后从传入的参数中打开一个特定文件。

    我第一次收到消息框并选择“编辑”时,它将正确打开新表单并显示.xlsm报告供我编辑。单击“关闭”后,它将保存更改并继续处理。如果我第二次收到我的消息框并选择“编辑”(无论是否为相同的.xlsm文件),我收到了一个异常:

    “调用目标引发了异常。”

    我认为可能是因为该文档已经使用“Microsoft.Office.Interop.Excel”打开,但第一个.xlsm文件将打开,即使它已使用“Microsoft.Office.Interop.Excel打开” ”。我注意到当使用“Microsoft.Office.Interop.Excel”时,在调用Excel.Application.Quit()函数并在ExcelApp对象上使用Marshal.ReleaseComObject之后,我仍然在任务管理器中运行了Excel进程。

    如果我完成关闭应用程序并重新打开它,我可以再次“编辑”提示我的消息框的第一个文档。

    我只需要选择“编辑”选项就可以暂停正在运行的代码,显示供用户编辑的文件,编辑完成后再继续运行代码。< / p>

    请告知。

    我只是尝试在这里发布代码,它说我使用了太多行。什么是分享我所有代码的最佳方式?

0 个答案:

没有答案