MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    Fechar instacia do EXCEL corretamente

    avatar
    Edson1974
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 10/05/2011

    Fechar instacia do EXCEL corretamente Empty Fechar instacia do EXCEL corretamente

    Mensagem  Edson1974 18/3/2017, 15:20

    Bom dia a todos!!

    Tenho uma duvida que já me segue a algum tempo e não consigo resolver. Já pesquisei em vários locais mas não consigo solucionar.

    Desenvolvi um sistema no trabalho em Access que importa vários relatórios em Excel e que tb gera relatórios em Word, porém sempre tenho problemas com a instancia que persiste em ficar aberta.

    A forma que utilizo para instanciar o Excel é a seguinte:

    Dim vNewXLS As Object
    Dim vArqXLS As Excel.Workbook
    Dim vPlanXLS As Excel.Worksheet

    Set vNewXLS = Excel.Application
    Set vArqXLS = vNewXLS.Workbooks.Open(strPathFile)
    Set vPlanXLS = vArqXLS.Worksheets(1)

    E para fechar faço normalmente o seguinte:

    vArqXLS.Close
    Set vArqXLS = Nothing
    Set vPlanXLS = Nothing
    Set vNewXLS = Nothing

    Mas mesmo assim a instancia permanece aberta.

    Desde já obrigado pela ajuda.

    Abraço.
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    Fechar instacia do EXCEL corretamente Empty Re: Fechar instacia do EXCEL corretamente

    Mensagem  philipp.moreira 18/3/2017, 15:56

    Edson, boa tarde!

    Eu fiz um teste aqui com o código abaixo e aparentemente deu certo. Veja se atende a sua necessidade:

    Código:
    Dim vNewXLS As Object
    Dim vArqXLS As Excel.Workbook
    Dim vPlanXLS As Excel.Worksheet

    Set vNewXLS = New Excel.Application
    Set vArqXLS = vNewXLS.Workbooks.Open(strPath)
    Set vPlanXLS = vArqXLS.Worksheets(1)

    'E para fechar faço normalmente o seguinte:
    vArqXLS.Close
    Set vArqXLS = Nothing
    Set vPlanXLS = Nothing
    Set vNewXLS = Nothing
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3241
    Registrado : 13/12/2016

    Fechar instacia do EXCEL corretamente Empty Re: Fechar instacia do EXCEL corretamente

    Mensagem  Alexandre Fim 18/3/2017, 16:10

    Edson boa tarde,

    Antes de executar seu sistema, abra o Gerenciador de Tarefas e verifique se tem algum Excel executando.
    Caso tiver, finalize-o. Em seguida rode seu aplicativo e veja se o Excel ainda persiste no Gerenciador do Windows.

    Att,
    avatar
    Edson1974
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 163
    Registrado : 10/05/2011

    Fechar instacia do EXCEL corretamente Empty Re: Fechar instacia do EXCEL corretamente

    Mensagem  Edson1974 18/3/2017, 16:15

    Boa tarde!!

    Obrigado pela ajuda pessoal.

    O que acontece é exatamente isso Alexandre.

    Já fiz esse teste.
    Antes de rodar fecho tudo o que está aberto com o Excel e confirmo no gerenciador de tarefas que não tem nenhuma instancia aberta mas após eu importar abro novamente o gerenciador e lá está uma instancia aberta mesmo utilizando o código que postei acima.

    Obrigado.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3241
    Registrado : 13/12/2016

    Fechar instacia do EXCEL corretamente Empty Re: Fechar instacia do EXCEL corretamente

    Mensagem  Alexandre Fim 18/3/2017, 16:48

    Edson,

    Acredito que o exemplo abaixo possa te ajudar. Segue:

    Sub EncerraExcel()
    Dim xlApp       As Excel.Application
    Dim xlWkb       As Excel.Workbook
    Dim blnIsOpen   As Boolean
    Dim strPath     As String
    On Error GoTo ErrHandler

       'Instancia o Excel
       strPath = ""
       Set xlApp = New Excel.Application
       Set xlWkb = xlApp.Workbooks.Open(strPath)
       blnIsOpen = True
       
       '==========================================================='
       'Execute seu código aqui...
       
       
       
     
     
       '==========================================================='
     
      'Finaliza a aplicação
       xlApp.Quit
       blnIsOpen = False

    ExitHere:
       Exit Sub

    ErrHandler:
       'Verifica se o Excel está instanciado
       If blnIsOpen = True Then
           xlApp.Quit
       End If
       MsgBox "& Err.Description &" & vbCrLf & Err.Number & vbCrLf & Err.Source, vbCritical, "EncerraExcel"

       Resume ExitHere

    End Sub


    Se der certo, nos avise.

    Boa sorte.

    Abs.

    Conteúdo patrocinado


    Fechar instacia do EXCEL corretamente Empty Re: Fechar instacia do EXCEL corretamente

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2024, 07:28