Ich versuche, eine Abfragetabelle in einer Excel-Tabelle erstellen der Python comtypes Bibliothek, sondern einen eher uninformativ Fehler bekommen ...Problem comtypes Bibliothek Python mit einem Abfragetabelle in Excel hinzuzufügen
In vba (in einem Modul innerhalb der Arbeitsmappe), der folgende Code funktioniert:
Sub CreateQuery()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ws As Worksheet
Dim qt As QueryTable
Set ws = ActiveWorkbook.Sheets(1)
Set con = New ADODB.Connection
con.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Path\to\Db.mdb;")
Set rs = New ADODB.Recordset
rs.Open "Select * from [tbl Base Data];", con
Set qt = ws.QueryTables.Add(rs, ws.Range("A1"))
qt.Refresh
End Sub
Aber die folgenden Python-Code:
import sys
import comtypes.client as client
def create_querytable():
constring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Path\\to\\Db.mdb"
conn = client.CreateObject("ADODB.Connection", dynamic = True)
rs = client.CreateObject("ADODB.Recordset", dynamic = True)
SQL = "Select * from [tbl Base Data];"
conn.Open(constring)
rs.Open(SQL, conn)
excel = client.CreateObject("Excel.Application", dynamic = True)
excel.Visible = True
ws = excel.Workbooks.Add().Sheets(1)
qt = ws.QueryTables.Add(rs, ws.Range["A1"])
qt.Refresh()
rs.Close()
conn.Close()
wirft die nicht hilfreich Fehlermeldung:
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
create_querytable()
File "C:/Documents and Settings/cvmne250/Desktop/temp.py", line 17, in create_querytable
qt = ws.QueryTables.Add(rs, ws.Range["A1"])
File "G:\ISA\SPSS\comtypes\lib\comtypes\client\lazybind.py", line 160, in caller
File "G:\ISA\SPSS\comtypes\lib\comtypes\automation.py", line 628, in _invoke
COMError: (-2147352567, 'Exception occurred.', (None, None, None, 0, None))
Irgendwelche Ideen, was hier passiert?
Danke!
Eli, den zusätzlichen Platz Sie war dort entfernt, um die Dinge auf der Vorschau richtig erscheinen zu lassen. Ich bin jetzt neugierig: Ich stecke fest, aber die Unternehmenspolitik mit IE6, die den Platz benötigt, um richtig zu sehen - war es auf anderen Browsern ohne es richtig? – mavnn
Es sieht immer noch gut aus in Firefox 3.0.7 – tgray
Sie können auch ein Visual Basic oder VBA-Tag zur Frage hinzufügen ... – tgray