【发布时间】:2010-12-31 04:25:22
【问题描述】:
背景:
我在工作中烤了我的旧硬盘,然后又买了一个新硬盘。有了这个,我将不得不重建我的机器。我的经理在他的借用笔记本电脑上安装了 Windows 7,而我的机器出现故障时我一直在使用该笔记本电脑。但是我遇到了一个问题。
我们有大量使用 Microsoft.Office.Interop.Excel 参考的应用程序。到目前为止,我已经解决了一些错误,但最近几天我一直坚持的错误(我的机器在第一次重建后实际上遭受了硬盘故障)并且无法找到修复程序。我已搜索过此错误,但在 Windows 7 上找不到任何遇到此问题的人,尽管我尝试了其他针对 Windows Server 2008 的修复程序均无济于事。
如果我不能解决这个问题,我将无法使用 Windows 7,并且想知道在我重建机器之前只需要擦除它并重新启动(第三次)。
问题:
操作系统:Windows 7 企业版
错误消息: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,但我想在告诉我的经理它行不通之前有一些可靠的理由。
谢谢你, 杰夫
【问题讨论】:
-
我推荐使用download.cnet.com/Filemon/3000-2094_4-10020837.html。 FileMon,可以告诉你这里有什么问题。 SaveAs 似乎是锁定或身份验证问题。说明您是否需要更多信息...
-
@shahkalpesh:谢谢,是的,我之前确实看过,但它没有解决我的问题。
-
@astander:我尝试了旧版本的 filemon,它使我的机器崩溃,然后尝试了列出的版本,它说使用 procmon,由于“驱动程序兼容性问题”而无法工作。所以我正在使用 Process Explorer,但似乎没有什么不寻常的。什么信息有帮助,如果你让我知道,我会发布它?谢谢!
-
msdn.microsoft.com/en-us/library/… 的示例使用 false 而不是缺少两个参数。也许试试看?也可以尝试使用 Workbook 对象的 FullName 属性作为将其保存到的路径 - msdn.microsoft.com/en-us/library/…