背景:
我在工作中烧毁了旧硬盘,正在获得新的。因此我必须重建我的机器。我的经理在他的外借笔记本电脑上安装了Windows 7,我一直在使用它,因为我的机器无法正常运转。但我遇到了一个问题。
我们有很多应用程序使用Microsoft.Office.Interop.Excel引用。到目前为止,我已经解决了几个错误,但是我陷入了困境,因为过去几天一直被困在这个问题上(我的机器实际上是在第一次重建后遭受了硬盘故障),并且一直无法找到解决方法。我已经搜索了这个错误,但是没有找到任何人在Windows 7上遇到这个问题,尽管我已经尝试了其他Windows Server 2008的解决方法,但都无济于事。
如果我无法解决这个问题,那么我将无法使用Windows 7,并希望在重新构建机器之前知道这一点(这将是第三次清除和重新开始)。
问题:
操作系统:Windows 7企业版
错误信息:Exception from HRESULT: 0x800A03EC
代码:
Private m_xls As Microsoft.Office.Interop.Excel.Application
Private m_wkbk As Microsoft.Office.Interop.Excel.Workbook
Private m_wksht As Microsoft.Office.Interop.Excel.Worksheet
m_xls = New Application
m_xls.Visible = False : m_xls.DisplayAlerts = False
m_wkbk = m_xls.Workbooks.Open(Me.FilePath)
m_wksht = CType(m_wkbk.ActiveSheet, Worksheet)
'...Write some data...'
m_wkbk.SaveAs(Me.FilePath, XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, False, False, XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value)
最后一行出现了错误。
我已经尝试过:
- 将AppPool更改为使用NetworkService帐户(它是“ApplicationPoolIdentity”,但在安全设置的用户列表中找不到)。然后将NetworkService帐户完全访问适当的文件夹。
- 给NetworkService访问DCOMCNFG中所有“Microsoft Excel应用程序”设置的权限
- 运行此命令“appcmd set config -section:asp -enableParentPaths:true”,因为这是我能找到的唯一另一个解决方法
- 使用.SaveCopyAs(),虽然可以工作,但会导致不同的错误
我只是想知道是否还有其他人遇到过这个问题,因为Windows 7是新的。 我可以考虑使用Server 2008,但在告诉我的经理它不起作用之前,我想要一些充分的理由。
谢谢, Jeff