以前工作的VB6程序现在在一台PC上失败,打开excel 2010电子表格



我有一个问题,它刚刚开始使用现有的VB6程序。相同的程序仍然可以在其他PC上运行。所有的PC都是XP(SP 3),包括程序失败的地方,理论上应该具有相同的构建。

尝试打开 excel 2010 电子表格时代码失败。错误是

错误方法 ~ 对象 ~ 失败

我在网上搜索了这个错误,建议尝试"依赖沃克"在失败的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)

设置 xlwbook 行失败

sched_file是 LAN 驱动器上的 excel 文件。出现故障的电脑对文件具有完全读/写访问权限。

有人有什么建议吗?

一个建议:

将代码更改为:

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. 由于这是您第一次使用 xl 变量,并且它显示为新变量,因此程序将创建一个新的 Excel.Application 实例。
  2. 打开文件(如果 1 成功)。

此更改将使您能够知道是第 1 部分还是第 2 部分失败。

最新更新