EXCEL - NAO SAI
Trabalho com VB6
Seguinte pessoal criei em minha aplicação uma rotina para exportar alguns dados para o excel e salvar a planilha automaticamente na pasta que eu escolher, se o arquivo ja existir ele pergunta se deseja sobrepor.Então me deparei com o seguinte problema.
Qdo exporto da primeira vez em tranquilo. Mas, se fecho o excel e clico novamente para exportar ele não consegue salvar automaticamente. Realizei alguns testes e verifiquei que apos fechar o excel ele continua residente na memória.
Se eu fecho q abro o programa, volta a funcionar perfeitamente, mas eh pq qdo fecho ele sai da memoria.
Segue abaixo parte da rotina:
Dim Plan As Object [ô]Aplicação Excel
Set Plan = CreateObject([Ô]excel.application[Ô])
Plan.Workbooks.Open App.Path & [Ô]ARQUIVO.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
[ô]AKI EXPORTO OS DADOS DO MEU PROGRAMA P O EXCEL E EXECUTO UM COMANDO PARA SALVAR A PLANILHA
[ô]AUTOMATICAMENTE COM O NOME QUE EU DETERMINO
--> Qdo termino de exportar eh que começa o problema. Não consigo tirar o Excel da memória
Já tentei:
Set Plan = Nothing
Plan.Application.Close = True
Plan.Application.Quit
Mas ele continua lah. Alguém sabe como fazer para tirar ele da memória?
Grato
Seguinte pessoal criei em minha aplicação uma rotina para exportar alguns dados para o excel e salvar a planilha automaticamente na pasta que eu escolher, se o arquivo ja existir ele pergunta se deseja sobrepor.Então me deparei com o seguinte problema.
Qdo exporto da primeira vez em tranquilo. Mas, se fecho o excel e clico novamente para exportar ele não consegue salvar automaticamente. Realizei alguns testes e verifiquei que apos fechar o excel ele continua residente na memória.
Se eu fecho q abro o programa, volta a funcionar perfeitamente, mas eh pq qdo fecho ele sai da memoria.
Segue abaixo parte da rotina:
Dim Plan As Object [ô]Aplicação Excel
Set Plan = CreateObject([Ô]excel.application[Ô])
Plan.Workbooks.Open App.Path & [Ô]ARQUIVO.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
[ô]AKI EXPORTO OS DADOS DO MEU PROGRAMA P O EXCEL E EXECUTO UM COMANDO PARA SALVAR A PLANILHA
[ô]AUTOMATICAMENTE COM O NOME QUE EU DETERMINO
--> Qdo termino de exportar eh que começa o problema. Não consigo tirar o Excel da memória
Já tentei:
Set Plan = Nothing
Plan.Application.Close = True
Plan.Application.Quit
Mas ele continua lah. Alguém sabe como fazer para tirar ele da memória?
Grato
Tem que matar as variáveis também....
Olhem soh. Esse comando salva a planilha automaticamente:
ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False
Se eu remover ele o excel fecha normalmente. Porém eu preciso dele
ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False
Se eu remover ele o excel fecha normalmente. Porém eu preciso dele
Boa noite,
Primeiro você precisa fechar o MS-Excel para depois descarrega-lo da memoria.
Plan.Application.Quit
Set Plan = Nothing
Qualquer duvida post novamente!
abraços
Primeiro você precisa fechar o MS-Excel para depois descarrega-lo da memoria.
Plan.Application.Quit
Set Plan = Nothing
Qualquer duvida post novamente!
abraços
Set Plan = Nothing tem que ser a última coisa.
Se isto não resolver, poste aqui também a linha de código que está usando para salvar o Workbook.
Se isto não resolver, poste aqui também a linha de código que está usando para salvar o Workbook.
Pessoal realizei algumas alterações e fiz alguns teste. Até agora não deu erro. Olhem soh o que eu alterei. Abaixo tah um resumo do codigo:
Estava assim:
Set Plan = CreateObject([Ô]excel.application[Ô])
Plan.Workbooks.Open App.Path & [Ô]\TESTE.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False
Set Plan = Nothing
Fiz essa ateração:
Set Plan = CreateObject([Ô]excel.application[Ô])
[txt-color=#e80000]Plan.Workbooks.Add[/txt-color]
Plan.Workbooks.Open App.Path & [Ô]\TESTE.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
[txt-color=#e80000] Plan.ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False[/txt-color]
Set Plan = Nothing
e deu certo, vlw pessoal
Estava assim:
Set Plan = CreateObject([Ô]excel.application[Ô])
Plan.Workbooks.Open App.Path & [Ô]\TESTE.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False
Set Plan = Nothing
Fiz essa ateração:
Set Plan = CreateObject([Ô]excel.application[Ô])
[txt-color=#e80000]Plan.Workbooks.Add[/txt-color]
Plan.Workbooks.Open App.Path & [Ô]\TESTE.xls[Ô]
Plan.Visible = True
Plan.UserControl = False
[txt-color=#e80000] Plan.ActiveWorkbook.SaveAs cdg.FileName, FileFormat:=xlNormal, Password:=[Ô][Ô], WriteResPassword:=[Ô][Ô], ReadOnlyRecommended:=False, CreateBackup:=False[/txt-color]
Set Plan = Nothing
e deu certo, vlw pessoal
Tópico encerrado , respostas não são mais permitidas