Excel nicht beendet bei autom. mit CopyFromRecordset

09/07/2008 - 10:41 von Jens Hofmeier | Report spam
Hallo NG,

ich benutze folgenden Code:

Dim xlapp As Object
Dim xlWB As Object
Dim xlsheet As Object

Dim rst As DAO.Recordset
Dim NoOfRows

Set rst = CurrentDb.OpenRecordset("SELECT * FROM qry_Toplist")

Set xlapp = CreateObject("Excel.Application")
Set xlWB = xlapp.Workbooks.Add
Set xlsheet = xlWB.Sheets(1)

NoOfRows = Sheets(1).Cells(6, 3).CopyFromRecordset(rst)
rst.Close
Set rst = Nothing


xlWB.Close True, "c:\top10.xls"
Set xlsheet = Nothing
Set xlWB = Nothing
xlapp.Application.Quit
Set xlapp = Nothing

Exit Sub

Trotzdem bleibt eine unsichtbare Excel Instanz stehen, die ich mit dem Task
Manager abschießen muss. Weiß jmd was ich hier falsch mache, weiß nicht mehr
weiter.

Gruss,

Jens
 

Lesen sie die antworten

#1 Jens Hofmeier
09/07/2008 - 11:31 | Warnen spam
Ich schrieb

ich benutze folgenden Code:

Dim xlapp As Object
Dim xlWB As Object
Dim xlsheet As Object

Dim rst As DAO.Recordset
Dim NoOfRows

Set rst = CurrentDb.OpenRecordset("SELECT * FROM qry_Toplist")

Set xlapp = CreateObject("Excel.Application")
Set xlWB = xlapp.Workbooks.Add
Set xlsheet = xlWB.Sheets(1)

NoOfRows = Sheets(1).Cells(6, 3).CopyFromRecordset(rst)
rst.Close
Set rst = Nothing


xlWB.Close True, "c:\top10.xls"
Set xlsheet = Nothing
Set xlWB = Nothing
xlapp.Application.Quit
Set xlapp = Nothing

Exit Sub

Trotzdem bleibt eine unsichtbare Excel Instanz stehen, die ich mit dem
Task Manager abschießen muss. Weiß jmd was ich hier falsch mache, weiß
nicht mehr weiter.



hab das Problem lösen können. Muss heißen:

NoOfRows = xlWB.Sheets(1).Cells(6, 3).CopyFromRecordset(rst)

So ein Mist.


Gruss,

Jens

Ähnliche fragen