我创造了这个VB6程序我的Windows 7 32位机器上使用Office 2010 32位,其运行正常。 测试它在Windows 8 64位机与Office 2013 32位上,它的工作原理。 上一台机,视窗7 64位和Office 2007(32位只)它下面的代码段中引发错误。
实际的错误信息:
运行时错误-2147319779(8002801d)自动化错误,库未注册
VB6代码:
If (excel_app Is Nothing) Then
Set excel_app = CreateObject("Excel.Application")
Else
Set excel_app = GetObject(, "Excel.Application")
End If
excel_app.Visible = True
excel_version = excel_app.Application.Version
Set wBook = excel_app.Workbooks.Open(directory_path & "\templates\book1.xlsm")
所以,当我打开BOOK1它抛出的错误。 它实际不打开它,它有Workbook_Open(宏运行),这个运行的权利,通过得体的罚款。 它完成和程序的处理返回到VB6程序后,它抛出的错误。
下面是该项目的引用:
有没有人碰到这一点,并会产生什么解决?
[编辑]
我明明在这里做得不对我的错误处理程序抛出一个错误。
我也尝试了另一件事,那就是去掉“设置wBook =”,并没有抛出异常。 我已经把“设置wBook =”后面从那以后,我确实需要进一步在我的代码。
Dim wBook As Workbook
Dim excel_app As Object
On Error GoTo trialhandler
If (excel_app Is Nothing) Then
Set excel_app = CreateObject("Excel.Application")
Else
Set excel_app = GetObject(, "Excel.Application")
End If
excel_app.Visible = True
excel_version = excel_app.Application.Version
Set wBook = excel_app.Workbooks.Open(directory_path & "\templates\book1.xlsm")
MsgBox ("Exiting")
Exit Sub
trialhandler:
Dim source_string As String
source_string = excel_app.Source 'Error here
MsgBox ("My Error 1:" & source_string)
excel_app.Err
MsgBox ("My Error 2:" & excel_app.Err.Number & " " & excel_app.Err.Description)
Exit Sub
我局2013年本安装之前,然后卸载它,放在2007上,可这有什么影响? 或者说,我创造了这个程序,参照Excel 2010和事实,现在我试图运行对Office 2007的? 虽然它的工作原理在另一台机器上有2013年在抓救命稻草这里。
[EDIT 2]
并先后通过了初始误差精确地抛出了同样的错误以后。 这片导入一个MDB表。 必须有一些早期绑定遗留
With wBook.Worksheets("Seal Register").ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=" & db_full_path & ";" _
, _
"Mode=ReadWrite;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" _
, _
"Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;" _
, _
"Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;" _
, _
"Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;" _
, _
"Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False"), _
Destination:=Range("A" & row_number)).QueryTable
.MaintainConnection = False
.CommandType = xlCmdTable
.CommandText = Array(db_table_name)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = 1
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = db_full_path
.ListObject.DisplayName = "Table_" & db_table_name
.Refresh BackgroundQuery:=False
End With