Excel VB6程序中的MS Office 14.0对象库引用

Excel VB6程序中的MS Office 14.0对象库引用,excel,vb6,Excel,Vb6,我的VB6程序代码是指14.0对象库,它是编译和执行的。使用访问14.0库的新代码可以很好地工作 在我的开发系统中,MicrosoftOffice2010安装在14.0库中,我的新代码在这里编译并运行良好 我正在使用这些库将文档转换为pdf 我正在尝试安装同一个VB6程序的安装程序,并在不同的机器上运行,其中不存在14.0库,因为MS Office 2000安装在该机器的12.0库上 安装程序正在成功安装,但程序在引用14.0库时抛出错误 现在,我需要这方面的帮助,那就是,我如何在新机器上安装1

我的VB6程序代码是指14.0对象库,它是编译和执行的。使用访问14.0库的新代码可以很好地工作

在我的开发系统中,MicrosoftOffice2010安装在14.0库中,我的新代码在这里编译并运行良好

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

我正在尝试安装同一个VB6程序的安装程序,并在不同的机器上运行,其中不存在14.0库,因为MS Office 2000安装在该机器的12.0库上

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

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

或者,请向我推荐任何其他方法来完成


谢谢

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

在早期绑定中,可以设置对Excel对象xx.xx库的引用,而在后期绑定中则不设置引用

这是两者的一个例子

早期装订

后期装订


是一个关于早期绑定与后期绑定的MSDN链接。

@DownVoter:请发表评论?@pnuts:我对此表示怀疑。最近经常有人对我投反对票:
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