MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Fechar arquivo externo via VBA

    Compartilhe

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Fechar arquivo externo via VBA

    Mensagem  lrossato em Qua 20 Maio 2015, 19:24

    Olá Pessoal,

    Por favor, alguém conhece algum comando ou uma função VBA para fechar um arquivo específico do word, excel, etc., e um outro comando/função que feche todos os arquivos de um aplicativo, por exemplo todos do excel ou todos do word, etc., sem precisar citar nomes.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qua 20 Maio 2015, 20:05

    Olá, bem vindo ao fórum.
    Veja se ajuda:
    [Você precisa estar registrado e conectado para ver este link.]
    Ou
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qua 20 Maio 2015, 20:24

    Olá ahteixeira,

    Obrigado pelas boas vindas.

    Pelo que entendi o primeiro link é para abrir um arquivo executável e o segundo é para deletar.
    Até já conheço o comando Kill no access para excluir arquivos, mas o que eu quero é apenas fechar.
    Eu mencionei comando ou função quando criei este forum porque vou colocar no procedimento de evento "ao clicar" de um botão que criei no form.
    Mesmo assim valeu.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qua 20 Maio 2015, 21:12

    Olá, não vai apagar o ficheiro.
    A única forma que conheço "matar o processo" do Windows.
    Ou seja, se for ao gestor de processos do Windows, vai verificar o(s) processo(s) abertos.
    O que o primeiro exemplo faz é demonstração dos dois passos.
    Abrir processo (ficheiro)
    Fechar "matar" processo.

    Caso pretenda fazer desta forma, terá de saber o nome do processo que pretende matar.

    Ficamos aguardar alguma sugestão de outro colega.

    Abraco

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qua 20 Maio 2015, 22:13

    Olá,

    Por favor então posta o que devo escrever no procedimento do evento "ao clicar" para o botão que criei se eu quisesse por exemplo fechar o arquivo "c:\frequencia.xls" ?
    Abç.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 21 Maio 2015, 12:24

    Olá Luis Henrique,
    Antes de tudo recomendo a leitura do n. 12 das regras do fórum em: [Você precisa estar registrado e conectado para ver este link.]
    Espero que proceda ao ajuste.

    Relativamente ao tópico, segue exemplo conforme solicitado.
    O metodo utilizado é "terminar tarefa/kill task", obtemos o resultado pretendido, o entanto não está a fechar, mas sim "matar a tarefa".
    Caso tenha mais que um ficheiro excel aberto, vai encerrar todos.

    Se o ficheiro excel que se pretende fechar foi aberto pelo access, recomendo que seja aplicada a tecnica deste post:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço
    Anexos
    TerminarApp.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (18 Kb) Baixado 38 vez(es)

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qui 21 Maio 2015, 14:04

    Olá Alvaro,

    Acabo de ler a linha 12 que vc sugeriu das regras. Não entendi. Não escrevi nada em maiúsculo a não ser o título do tópico.

    Peço desculpas. Na verdade me precipitei ontem quando refutei aquele link que vc postou.
    À noite parei para analisar melhor aquele código e concluí que vc tinha toda razão. Ele serve sim para fechar processos (entenda-se aplicativos).
    Para saber o nome do processo eu teclei o famoso control-alt-del. Abri o gerenciador de tarefas e na aba "processos" vi qual era o do excel e aí foi só substituir no código.
    E agora cedo eu recebo o seu post para confirmar. Vc foi perfeito!

    Bom, desta forma fica resolvida a segunda parte do tópico.

    Fica faltando só um código, ou o que seja, para fechar um arquivo especificamente.

    Obrigado
    Abç.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 21 Maio 2015, 15:07

    Olá, obrigado pelo retorno, os utilizadores do fórum agradecem.
    Quanto ao nº 12 é mesmo isso e só você é que podem alterar o titulo do tópico.
    Entretanto, se está concluído, não se esqueça de dar o tópico como resolvido, veja link abaixo:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qui 21 Maio 2015, 15:55

    Olá,

    O tópico ainda não foi resolvido.
    Ainda falta uma parte.
    Abç.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 21 Maio 2015, 16:45

    Olá, e que parte está a faltar, podemos ajudar?
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qui 21 Maio 2015, 17:55

    Oi,
    A primeira parte que é:
    Fechar apenas um arquivo específico sem fechar todo o processo.
    Abç.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 21 Maio 2015, 18:56

    Olá de novo, a única forma que conheço para fechar arquivo específico é se também for aberto pelo Access.
    Pois assim o Acceess dispõe da informação do ficheiro que foi aberto e sabe qual fechar.
    Ficamos aguardar se algum colega aqui do fórum apresenta outra ideia.
    Abraço

    sergiosdl
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 04/12/2009

    Re: Fechar arquivo externo via VBA

    Mensagem  sergiosdl em Sex 22 Maio 2015, 00:09

    amigo eu finalizo com um arquivo externo.

    Crie um arquivo VBS que ele poderá fechar inclusive o proprio access
    No arquivo VBS coloque o codigo

    dim escript, execu
    Set escript = WScript.CreateObject("WScript.Shell")
    set execu = escript.exec("c:\windows\system32\taskkill -U -F -im wp* ")

    neste exemplo ele ira finalizar qualquer processo que se inicie com as letras wp

    Abraços

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Sex 22 Maio 2015, 13:43

    Olá Sérgio, obridado pela dica.
    Com o MaximoAccess estamos sempre aprender.
    Vamos aguardar o retorno do colega.
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 22 Maio 2015, 15:06

    Colegas,

    Que show de bola este VBS. Não conhecia, mas pesquisei e consegui criar um.
    Inseri nele, conforme proposto, o seguinte código:

    dim escript, execu
    Set escript = WScript.CreateObject("WScript.Shell")
    set execu = escript.exec("c:\windows\system32\taskkill -U -F -im DP4-FREQUENCIA1.csv")

    No lugar do wp* eu coloquei o nome do arquivo que quero fechar. Não fechou.
    Até renomeei o meu arquivo para wp1 pensando que talvez o hífen no nome fosse o problema, mas tbém não fechou.

    Abç.

    sergiosdl
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 04/12/2009

    Re: Fechar arquivo externo via VBA

    Mensagem  sergiosdl em Sex 22 Maio 2015, 15:39

    Amigo
    no local que estou no momento não consigo testar, mas você não deve colocar o nome do arquivo que esta aberto, e sim o nome do processo, por exemplo:
    Um arquivo do Word chamado teste.docx.
    para fecha-lo você deve fechar o Word que é o processo, logo seria o arquivo winword.exe
    então modifique para o nome do processo que esta abrindo o seu arquivo, para verificar o nome do processo, utilize o tradicional CTRL + ALT + DEL para ver o nome dos processos
    cuidado ao ultilizar * como eu postei no exemplo, você poderá fechar outros processos que de repente nem os conheça, mas são de utilização do sistema
    Abraços

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 22 Maio 2015, 18:06

    Olá Sérgio,

    Acho que vc não pegou o tópico desde o começo.
    Esta parte de fechar o processo a gente já resolveu.
    Quando se fecha o processo se fecham todos os arquivos daquele aplicativo.

    O que a gente quer agora é fechar só um determinado arquivo daquele processo.
    Porém o nome do arquivo não aparece no gerenciador de tarefas.

    Abç.

    sergiosdl
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 04/12/2009

    Re: Fechar arquivo externo via VBA

    Mensagem  sergiosdl em Sex 22 Maio 2015, 19:32

    Meu Irmão
    Peço desculpas, realmente não tinha me atentado a este ponto importante.
    Fechando apenas o arquivo eu nunca fiz, mesmo porque fazendo manualmente(CTRL + ALT + DEL) eu nao consegui finalizar apenas um arquivo

    Abraços

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 22 Maio 2015, 20:09

    Sérgio,

    No gerenciador de tarefas que aparece depois do ctrl-alt-del, dentro da aba "aplicativos" aparece no nome das tarefas.
    O nome de cada arquivo aberto aparece ali.
    Se desse pra fazer menção, usando um código, àquela tarefa especifica, daria pra fechar só aquele arquivo.
    Abç.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2517
    Registrado : 29/06/2012

    Re: Fechar arquivo externo via VBA

    Mensagem  Noobezinho em Sex 22 Maio 2015, 21:12

    Cai está uma função para fechar qualquer arquivo.exe.

    Uso:

    TerminateApp("NomeArquivo.exe")


    Sub TerminateApp(strArquivoAFechar As String)

    Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
    Dim intError As Integer


    Set objWMIcimv2 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set objList = objWMIcimv2.ExecQuery("select * from win32_process where name='" & strArquivoAFechar & "'")
    For Each objProcess In objList
               intError = objProcess.Terminate 'Finaliza um processo e todos os seus
                                               'segmentos." Returna valor = 0 para o sucesso.
                                               'Qualquer outro número é um erro.
               If intError <> 0 Then Exit For
    Next

    'todas as instâncias do exe (strTerminateThis) ter sido encerrado
    Set objWMIcimv2 = Nothing
    Set objList = Nothing
    Set objProcess = Nothing

    End Sub



    [ ]'s

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Seg 25 Maio 2015, 13:42

    Colega,

    Esta função já foi sugerida no início do tópico e ela funciona mesmo, mas não é isso que a gente quer.
    A gente quer é fechar um único arquivo (.doc, .xls, .pdf, etc).
    Abç.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2517
    Registrado : 29/06/2012

    Re: Fechar arquivo externo via VBA

    Mensagem  Noobezinho em Seg 25 Maio 2015, 15:14

    Então veja aqui

    Também irá precisar disso aqui

    Não me interessei em testar, apena fica a dica


    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Seg 25 Maio 2015, 15:35

    Olá Noob,

    Antes de iniciar o tópico eu já havia pesquisado na Web buscando soluções.
    Estes links que você postou servem para fechar a janela do aplicativo. Eu já tinha testado eles funcionam mesmo.
    Mas eles nem sequer fecham o aplicativo e apenas ocultam as suas janelas da barra de status do windows.
    Volto a dizer que queremos apenas fechar um único arquivo de um aplicativo.
    Mesmo assim obrigado.
    Abç.

    sergiosdl
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 04/12/2009

    Re: Fechar arquivo externo via VBA

    Mensagem  sergiosdl em Seg 25 Maio 2015, 15:51

    Realmente está um desafio
    Acredito que o caminho é varrer na net procurando como fechar um arquivo pelo windows(prompt de comando), pra gente colocar isto no VBA

    Abraços

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Ter 08 Dez 2015, 19:26

    Olá Luiz Rossato, como está a situação!
    Encontrou outra solução? Usou alguma das apresentadas?

    Os utilizadores do fórum agradecem o retorno.
    Abraço

    walisilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    Re: Fechar arquivo externo via VBA

    Mensagem  walisilva em Qua 09 Dez 2015, 12:19

    Olá a todos!

    Bem, eu sempre uso um CMD "Taskkill /im msaccess.exe /f" onde o "msaccess.exe" pode ser qualquer .exe que eu quiser.

    Porém ele fecha todos abertos, não tem como especificar qual em específico, até porque pra isso eu teria que especificar o id do processo (PID) que não sei como automatizar.

    Fica a dica ai para o amigo, também sugiro que pense bem o que quer fazer pois, pra finalizar um processo específico você tem que saber o id do processo, acredito que seja a única forma, mas aí já é um outro problema, talvez precise digitar manualmente o PID.

    Abçs


    .................................................................................
    --
    Walison Silva [Você precisa estar registrado e conectado para ver esta imagem.]

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 10 Dez 2015, 18:08

    Olá Walison, obrigado por mais uma dica.
    Ficamos (continuamos) aguardar o retorno do Luiz Rossato que abriu o tópico.
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qui 10 Dez 2015, 18:28

    Olá Pessoal,

    Infelizmente não pude utilizar nenhuma opção dos colegas. Repiso que o que eu queria era fechar um arquivo específico do excel sem fechar outros que estão aberto do mesmo aplicativo, ou seja, n~]ao quero fechar o processo, apenas um arquivo.
    Tem como encerrar o tópico sem solução?

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 10 Dez 2015, 18:30

    Olá Luiz, sim tem, veja como fazer:
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Qui 10 Dez 2015, 18:57

    Colega,

    Pelo que li é melhor deixar aberto, pois não foi resolvido e quem entrar não vai achar solução para o que procura.
    Abç.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  ahteixeira em Qui 10 Dez 2015, 19:07

    Olá Luiz, sou da opinião de fechar o tópico.

    Pode colocar uma mensagem final de agradecimento aos intervenientes e que vai dar o tópico como resolvido apesar de não ter obtido uma solução.

    No entanto deixo ao seu critério, podendo também ficar aberto.
    Abraço

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Fechar arquivo externo via VBA

    Mensagem  Avelino Sampaio em Qui 10 Dez 2015, 21:39

    Olá!

    Uma alternativa é passar o foco para janela do arquivo aberto e então fechar com o ALT + F4

    Public Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare PtrSafe Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

    Public Sub fncFecharApp(NomeJanela As String)
    Dim CloseIt As Long
    Dim ws As Object
    DoEvents
    CloseIt = FindWindow(vbNullString, NomeJanela)
    SetForegroundWindow CloseIt
    Call fncAguardar(50)
    Set ws = CreateObject("WScript.shell")
    ws.SendKeys "%{f4}"
    Set ws = Nothing
    End Sub


    Public Sub fncAguardar(lngMilesegundos&)
    Dim varStart
    varStart = Timer  'Tempo inicial
    Do While Timer < varStart + (lngMilesegundos / 1000)
       DoEvents  'Libera outros processos
    Loop
    End Sub


    Supondo que eu tenha um arquivo de nome Carga.xlsx e na janela Excel temos escrito "Carga.xlsx - excel"

    call fncFecharApp("Carga.xlsx - excel")

    Nota:  se seu Access for versão 2007 ou inferior, retire o Ptrsafe da API
    Nota: Abra mais de um arquivo excel para testar.

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 13:42

    Olá,

    Copiei todo o conteúdo dentro de um módulo.
    Porém está dando erro ao copiar esta linha:

    Public Sub fncFecharApp(cópia de saldo lp dez 2015 dp.xlsx - microsoft excel As String)

    Coloquei aspas no nome da janela mas ainda continua com erro:
    Public Sub fncFecharApp("cópia de saldo lp dez 2015 dp.xlsx - microsoft excel" As String)

    Por favor verifique e me retorne
    Abç.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2517
    Registrado : 29/06/2012

    Re: Fechar arquivo externo via VBA

    Mensagem  Noobezinho em Sex 11 Dez 2015, 13:50

    Luiz


    Isso fica na função:

    Public Sub fncFecharApp(NomeJanela As String)

    O que está dentro dos parênteses chama-se argumento,
    nesse caso, o argumento diz que a variável NomeJanela é string

    Para chamar esse função ali de cima, tem que fazer como o Avelino colocou:

    call fncFecharApp("Carga.xlsx - excel")

    Que no teu caso ficará:

    call fncFecharApp("cópia de saldo lp dez 2015 dp.xlsx - microsoft excel")

    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 14:11

    Noobezinho,

    Eu entendi isso.
    Para testar eu criei um formulário e coloquei um botão para chamar a função, no evento ao clicar:
    call fncFecharApp("cópia de saldo lp dez 2015 dp.xlsx - microsoft excel")
    O erro está na hora de declarar a função no módulo.


    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Fechar arquivo externo via VBA

    Mensagem  Avelino Sampaio em Sex 11 Dez 2015, 14:20

    Qual é a versão do seu Access ?


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    walisilva
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 10/09/2015

    Re: Fechar arquivo externo via VBA

    Mensagem  walisilva em Sex 11 Dez 2015, 14:27

    Código:
    taskkill /f /FI "windowtitle eq nomedoxls"

    Onde nomedoxls é o nome do seu arquivo que quando é aberto pelo excel, assume o titulo da janela. Com esse código você pode matar qualquer processo apenas com o nome da janela.

    Acho que com isso resolve o seu problema.

    -- João 3:16


    .................................................................................
    --
    Walison Silva [Você precisa estar registrado e conectado para ver esta imagem.]

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Fechar arquivo externo via VBA

    Mensagem  Avelino Sampaio em Sex 11 Dez 2015, 14:51

    Walison, leia o tópico. A questão final aqui é ter uma solução sem matar o processo.


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 15:35

    Meu access é 2010

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Fechar arquivo externo via VBA

    Mensagem  Avelino Sampaio em Sex 11 Dez 2015, 17:09

    Segue o arquivo exemplo.

    Aguardamos

    Anexos
    rossato.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (24 Kb) Baixado 15 vez(es)


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2517
    Registrado : 29/06/2012

    Re: Fechar arquivo externo via VBA

    Mensagem  Noobezinho em Sex 11 Dez 2015, 18:24

    Avelino

    Não funfou, tentei com o Excel e MsAccess e não foi.

    Usando o windows 7 -ms Access 2010.

    Com exceção da API findWindow, todas as outras pedem o nome de classe.

    Será que realmente tem API que o windows 7 não reconhece?

    A exemplo disso é a API SetMessage(), onde nos fórum em inglês

    dizem isso.


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 18:37

    Avelino,

    Tirei um print da tela (excel ao fundo) pra vc ver que eu coloquei exatamente o nome da tela e não foi.

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 18:44

    Agora foi.
    Por favor dá uma olhada.
    Anexos
    rossato.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (266 Kb) Baixado 7 vez(es)

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Sex 11 Dez 2015, 19:04

    Pessoal,

    17:30h tenho que ir embora.
    Estou sem internet em casa.
    Se não conseguirmos resolver até esta hora, na segunda a gente continua.
    Abç.

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Fechar arquivo externo via VBA

    Mensagem  Avelino Sampaio em Sab 12 Dez 2015, 10:43

    Rossato,

    atente para os dois espaços existentes, ao invés de um, após a extensão xls.

    peso ideal.xlsdois espaços[Modo de Compatibilidade] - Microsoft Excel

    Nobezinho,

    estou rodando aqui no Windows 7 com Access 2013.  Rodei também no Access 2007 com Windows 7.

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2517
    Registrado : 29/06/2012

    Re: Fechar arquivo externo via VBA

    Mensagem  Noobezinho em Sab 12 Dez 2015, 13:37

    Avelino

    Para mim não funcionou como descreveu no teu último post.

    peso ideal.xlsdois espaços[Modo de Compatibilidade] - Microsoft Excel

    Funcionou como está escrito no botão do aplicativo, na barra de tarefas:

    Para extensão .xls:

    Microsoft Excel - Indicadores.xls [Modo de Compatibilidade]

    Para extensão .xlsm:

    Microsoft Excel - Despesas.xlsm ' sem o modo de compatibilidade

    Estou testando com outros aplicativos, até agora sem sucesso.

    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    lrossato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 25/10/2013

    Re: Fechar arquivo externo via VBA

    Mensagem  lrossato em Seg 14 Dez 2015, 13:27

    Avelino,

    Coloquei os dois espaços.
    To mandando a planilha e o resultado pra vc analisar.
    Anexos
    peso ideal.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (230 Kb) Baixado 8 vez(es)

      Data/hora atual: Sab 10 Dez 2016, 12:38