ERRO LIMPAR MEMORIA EXCEL

USUARIO.EXCLUIDOS 06/10/2004 14:50:05
#44862
Boa tarde galera,

Estou criando algumas planilhas do Excel pelo VB e ao limpar a memória ele acusa um erro assim: "component busy". O problema é que não é toda hora que acontece, e sim de vez em quando. Alguém sabe qual é o problema????

Abaixo segue o código:

19 Set oleexcel = CreateObject("excel.application")
22 Set oleworkbook = oleexcel.Workbooks.Add
25 Set oleworksheet = oleexcel.Worksheets.Add

28 For Y = 1 To frmCotacao.Itens_cota.Fields.Count
31 oleworksheet.Cells(1, Y) = UCase(frmCotacao.Itens_cota.Fields(Y - 1).Name)
34 Next Y

37 Do While Not frmCotacao.Itens_cota.EOF
40 For Y = 1 To frmCotacao.Itens_cota.Fields.Count
43 oleworksheet.Cells(X + 1, Y) = frmCotacao.Itens_cota.Fields(Y - 1)
46 Next Y

49 With oleworksheet.Range("A" & X + 1)
52 .value = frmCotacao.Itens_cota.Fields(0) 'Número do empregado na colua A1-A15
55 .Font.Bold = True 'destaca o texto em negrito
58 End With

70 X = X + 1
73 frmCotacao.Itens_cota.MoveNext
76 Loop
79 oleworksheet.Range("A1:Z500").Font.Name = "Verdana"

82 DoEvents

121 oleworksheet.SaveAs "c:\warewin\cotações\" & lblNumcota.Caption & "-" & CStr(Mid(forne!NomePrest, 1, 10)) & ".xls"

133 MsgBox "Planilhas criadas com sucesso!", vbInformation

'Limpando a Memoria
136 oleworkbook.Close True
139 Set oleexcel = Nothing
142 Set oleworkbook = Nothing
145 Set oleworksheet = Nothing

O erro ocorre na linha 136.

Valeu...
WEBMASTER 06/10/2004 18:56:54
#44890
Resposta escolhida
Provavelmente seu erro está ocorrendo por falta de OleExcel.Quit, ele é necessário para encerrar a aplicação, quando você dá nothing libera a variável da memória, porém a instà¢ncia da aplicação que você abriu não foi fechada.
Tópico encerrado , respostas não são mais permitidas