2

我的 VB 6 程序代码是指 14.0 对象库,它被编译和执行..使用新代码工作正常(访问 14.0 库)。

在我的开发系统中,安装了 Microsoft Office 2010(14.0 库),我的新代码已在其中编译并正常工作。

我正在使用这些库将文档转换为 pdf。

我正在尝试安装相同 VB 6 程序的设置并在不存在 14.0 库的不同机器上运行,因为该机器上安装了 MS Office 2000(12.0 库)。

安装程序安装成功,但程序在引用 14.0 库时抛出错误。

现在,我需要在这方面的帮助,即,如何在新机器上安装 14.0 对象库,以便程序运行时引用将在那里。

或者,请给我建议任何其他方法来完成它..

谢谢

4

1 回答 1

10

问题是您正在使用早期绑定。您必须使用后期绑定。

在早期绑定中,您设置了对 Excel 对象 xx.xx 库的引用,而在后期绑定中您没有。

这是两者的示例

早期绑定

Sub EarlyBindingEx()
    Dim oXLApp As Excel.Application
    Dim oXLWb As Excel.Workbook
    Dim oXLWs As Excel.Worksheet

    '~~> Establish an EXCEL application object
    On Error Resume Next
    Set oXLApp = GetObject(, "Excel.Application")

    '~~> If not found then create new instance
    If Err.Number <> 0 Then
        Set oXLApp = New Excel.Application
    End If
    Err.Clear
    On Error GoTo 0

    '~~> Show Excel
    oXLApp.Visible = True

    '~~> Open files
    Set oXLWb = oXLApp.Workbooks.Open("C:\Sample.xlsx")

    '~~> Set the relevant worksheet
    Set oXLWs = oXLWb.Sheets(1)

    '
    '~~> Rest of your code
    '
End Sub

后期装订

Sub LateBindingEx()
    Dim oXLApp As Object
    Dim oXLWb As Object, oXLWs As Object

    '~~> Establish an EXCEL application object
    On Error Resume Next
    Set oXLApp = GetObject(, "Excel.Application")

    '~~> If not found then create new instance
    If Err.Number <> 0 Then
        Set oXLApp = CreateObject("Excel.Application")
    End If
    Err.Clear
    On Error GoTo 0

    '~~> Show Excel
    oXLApp.Visible = True

    '~~> Open files
    Set oXLWb = oXLApp.Workbooks.Open("C:\Sample.xlsx")

    '~~> Set the relevant worksheet
    Set oXLWs = oXLWb.Sheets(1)

    '
    '~~> Rest of your code
    '
End Sub

这里是关于早期绑定与后期绑定的 MSDN 链接。

于 2013-09-30T10:32:26.463 回答