VB 6程序中的MS Office 14.0对象库引用

时间:2013-09-30 10:05:53

标签: excel vb6

我的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对象库,以便程序可以运行。

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

由于

1 个答案:

答案 0 :(得分:10)

问题是您正在使用Early Binding。你必须使用Late Binding。

在早期绑定中,您可以设置对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

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