0x800a03ec 使用 Microsoft.Office.Interop.Excel.Workbook.Open() 时出现异常
0x800a03ec Exception when using Microsoft.Office.Interop.Excel.Workbook.Open()
我创建了一个 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): Exception from HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename,
Object UpdateLinks, Object ReadOnly, Object Format, Object Password,
Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object
Origin, Object Delimiter, Object Editable, Object Notify, Object
Converter, Object AddToMru, Object Local, Object CorruptLoad)
我尝试过但没有奏效的事情
- 尝试在受影响的机器上重新安装相同版本的 office (Office 365 Proplus V1902)
- 确保文件有效、未损坏、可写、未受保护
- 此处建议的所有计算机上的区域格式设置都相同
- 更改了 "DCOM Config" 中 Excel 应用程序的设置
- 尝试使用
excelapplication.Workbooks.Open(strFullPath);
- 尝试使用 Epplus 但导致文件损坏,请注意我无法更改此文件,这是我们从其他人那里获得的文件
- 尝试使用两个不同版本的互操作 dll(14.0 和 15.0)
- 尝试使用 xlsx 文件
- 本地语言设置为美国英语 here
观察很少
此插件之前在所有计算机上都有效,因此我们尝试在受影响的计算机上进行系统还原但没有奏效
当在"affected machines"上手动打开excel文件时,它会踢出其中的宏,但没有被杀毒软件踢出Link
所有计算机都在使用 AutoCAD 2018、VS 2017、Office 365 Proplus 和 Windows 10 (X64)。
我应该在这里做什么?任何帮助是极大的赞赏。非常感谢你。
在许多不同的应用程序上尝试安装和重新安装后,发现有一个名为 Access Database Engine 的应用程序,受影响的计算机安装了 2010 和 2016 这两个版本。卸载2016版后,一切正常。卸载2010后没用
我创建了一个 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): Exception from HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
我尝试过但没有奏效的事情
- 尝试在受影响的机器上重新安装相同版本的 office (Office 365 Proplus V1902)
- 确保文件有效、未损坏、可写、未受保护
- 此处建议的所有计算机上的区域格式设置都相同
- 更改了 "DCOM Config" 中 Excel 应用程序的设置
- 尝试使用
excelapplication.Workbooks.Open(strFullPath);
- 尝试使用 Epplus 但导致文件损坏,请注意我无法更改此文件,这是我们从其他人那里获得的文件
- 尝试使用两个不同版本的互操作 dll(14.0 和 15.0)
- 尝试使用 xlsx 文件
- 本地语言设置为美国英语 here
观察很少
此插件之前在所有计算机上都有效,因此我们尝试在受影响的计算机上进行系统还原但没有奏效
当在"affected machines"上手动打开excel文件时,它会踢出其中的宏,但没有被杀毒软件踢出Link
所有计算机都在使用 AutoCAD 2018、VS 2017、Office 365 Proplus 和 Windows 10 (X64)。
我应该在这里做什么?任何帮助是极大的赞赏。非常感谢你。
在许多不同的应用程序上尝试安装和重新安装后,发现有一个名为 Access Database Engine 的应用程序,受影响的计算机安装了 2010 和 2016 这两个版本。卸载2016版后,一切正常。卸载2010后没用