MATAR PROCESSO

BRDIAS 25/02/2011 15:52:13
#366608
Caros, boa tarde

Estou escrevendo um pequeno codigo para gerar uma planilha em excel e nesse codigo ele permite que eu gere varias planilhas, uma de cada vez, porem, quando vou gerar a segunda planilha ele da um pau muito doido que nao sei explicar... acho que eh pq o processo do excel nao esta sendo morto e estou usando o comando para fecha-lo.

entao, pq dessa historia? estou precisando de um codigo que elimine o processo do excel (pelo nome) da lista de processos ativos... tem um aki no vbmania mas o esta com defeito na hora de baixar...

alguem pode ajudar?

abracos
QUASAR23 25/02/2011 17:52:20
#366619
não entendi direito a duvida... explica melhor ai o problema...


flw

abraço
BRDIAS 28/02/2011 08:14:27
#366735
Citação:

XlsBook.Application.Quit

Nunca esqueça de fechar o tópico quando sua duvida estiver resolvida



po velho, tentei essa saida porem nao funcionou.... ainda ficam mais de um processo do excel na memoria.

e tentando explicar melhor... tenho uma rotina que le um banco de dados access e gera um excel porem, quando preciso gerar duas planilhas sem fechar a aplicação, a segunda planilha vem vazia...
acredito que seja por conta dos dois processos que ficam na memoria...
vlw
ARCADYUM 28/02/2011 08:46:32
#366738
Olha,
Geralmente eu utilizo essa rotina para criar uma nova instância do Excel

Dim EXCELAPP As Excel.Application
Dim EXCELPASTA As New Excel.Workbook
Dim EXCELPLAN As New Excel.Worksheet


Set EXCELAPP = New Excel.Application
Set EXCELPASTA = EXCELAPP.Workbooks.Add
Set EXCELPLAN = EXCELPASTA.Sheets(1)

Quando eu preciso de uma nova planilha dentro dessa pasta criada eu crio um novo objeto da planilha o que seria
Dim EXCELPLAN_1 As New Excel.Worksheet
Set EXCELPLAN_1 = EXCELPASTA.Sheets(2)

Porém, quando eu preciso lançar os dados na segunda planilha eu uso ativar a planilha antes de escrever o que preciso nela, tipo:
EXCELPLAN_1.Activate

Agora, eu já tentei alguns códigos para descarregar o excel completamente da memória e não consegui, porém o que percebi é que
mesmo com uma instância aberta não gera erros em novas chamadas.
Então utilizo o seguinte código para descarregar a variável
Set EXCELAPP = NOTHING

é isso,
Espero ter ajudado.

Tópico encerrado , respostas não são mais permitidas