【问题标题】:MS Office 14.0 object library references in VB 6 programVB 6 程序中的 MS Office 14.0 对象库引用
【发布时间】:2013-09-30 10:05:53
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: excel vb6


    【解决方案1】:

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

    在早期绑定中,您设置对 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 是有关 Early Binding Vs Late Binding 的 MSDN 链接。

    【讨论】:

    • @DownVoter:请发表评论?
    • @pnuts:我对此表示怀疑。最近有人经常对我投反对票:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2020-03-26
    • 2014-08-22
    • 2013-07-28
    • 2018-11-12
    • 1970-01-01
    • 2015-03-27
    相关资源
    最近更新 更多