我的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对象库,以便程序可以运行。
或者,请建议我完成任何其他方法..
由于
答案 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链接。