【发布时间】:2020-02-24 22:00:30
【问题描述】:
我创建了一个 AutoCAD 插件并将其分发给不同的用户组。我面临的问题是它在某些计算机上崩溃时正在为某些用户工作。此问题可能与计算机或代码有关,因此请仔细阅读。
string strFullPath= "D:\Model\Motor-Manifest\Manifest.xlsm";
Excel.Application excelapplication= new Excel.Application();
Excel.Workbook XlWorkBook = excelapplication.Workbooks.Open(strFullPath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, false);
我得到的错误如下
System.Runtime.InteropServices.COMException (0x800A03EC):来自 HRESULT 的异常:0x800A03EC
在 Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名, 对象更新链接、对象只读、对象格式、对象密码、 对象 WriteResPassword,对象 IgnoreReadOnlyRecommended,对象 原点、对象分隔符、对象可编辑、对象通知、对象 转换器、对象 AddToMru、对象本地、对象 CorruptLoad)
我尝试过但没用的方法
- 尝试在此article 中建议的受影响机器上重新安装相同版本的 Office (Office 365 Proplus V1902)
- 确保文件有效、未损坏、可写、未受保护
- 此处建议的所有机器上的区域格式设置都相同here
- “DCOM 配置”中 Excel 应用程序的更改设置解释 here
- 尝试使用
excelapplication.Workbooks.Open(strFullPath); - 尝试使用 Epplus 但导致文件损坏,请注意,无论如何我无法更改此文件,这是我们从其他人那里获得的文件
- 尝试使用两个不同版本的互操作 dll(14.0 和 15.0)
- 尝试使用 xlsx 文件
- 按照建议将本地语言设置为美国英语here
很少观察
此插件之前在所有计算机上都可以运行,因此我们尝试在受影响的计算机上进行系统还原,但没有成功
在“受影响的机器”上手动打开excel文件时,会踢出其中的宏,但没有被杀毒Link踢出
所有计算机都使用 AutoCAD 2018、VS 2017、Office 365 Proplus 和 Windows 10 (X64)。
我应该在这里做什么?任何帮助是极大的赞赏。非常感谢。
【问题讨论】:
标签: c# excel windows-10 excel-interop autocad-plugin