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

Sri*_*vas 2 vb6 excel

我的VB 6的程序代码指的是14.0对象库中,它被编译并executed..working细用新的代码(访问14.0库).

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

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

我试图安装相同的VB 6程序的设置,在不同的机器,其中14.0库不存在跑,因为MS Office 2000的安装这台机器(12.0库)上.

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

现在,我需要帮助在这方面,是,我怎样才能在新机器上安装14.0对象库,这样的引用将在那里为程序运行.

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

谢谢

Sid*_*out 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
Run Code Online (Sandbox Code Playgroud)

后期绑定

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
Run Code Online (Sandbox Code Playgroud)

HERE是关于早期绑定与晚期绑定的MSDN链接.