我有一个刚刚开始使用现有VB6程序的问题。同样的程序仍适用于其他PC。所有的PC都是XP(SP 3),包括程序失败的地方,理论上应该具有相同的构建。
尝试打开Excel 2010电子表格时代码失败。 错误是
对象的错误方法〜失败
我在网上搜索了这个错误,并建议尝试“Dependency Walker”在失败的PC上报告 MPR.DLL和SHLWAPI.DLL作为未找到延迟加载依赖项模块
在工作的PC上,只有MPR被报告为警告
SHLWAPI.DLL出现在发生故障的PC上。 我试图注册SHLWAPI,但这不会注册
代码
Public Sub Populate_booked(sched_file)
On Error GoTo Populate_booked_error
Dim xl As New Excel.Application
Dim xl2 As New Excel.Application
Set xlwbook = xl.Workbooks.Open(sched_file)
Set xlwbook行失败
sched_file是LAN驱动器上的excel文件。失败的PC具有对文件的完全读/写访问权。
有人有任何建议吗?
答案 0 :(得分:0)
一个建议:
将您的代码更改为:
Public Sub Populate_booked(sched_file)
On Error GoTo Populate_booked_error
Dim xl As Excel.Application
Dim xl2 As Excel.Application
Set xl = New Excel.Application
Set xl2 = New Excel.Application
Set xlwbook = xl.Workbooks.Open(sched_file)
这不会真正解决您的问题,但会缩小可能的原因。在您当前的代码中,行
Set xlwbook = xl.Workbooks.Open(sched_file)
会做两件事:
通过更改,您可以了解失败的第1部分还是第2部分。