我的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链接.