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


2 participantes

    [Resolvido]Executar Macro excel pelo Access

    avatar
    andre lindolfo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 17/04/2012

    [Resolvido]Executar Macro excel pelo Access Empty Executar Macro excel pelo Access

    Mensagem  andre lindolfo 13/9/2012, 20:12

    oi Amigos,

    Sou no relativamente novato com o access, pesquisei aqui, mas confesso que achei difícil entender.

    Tenho um formulário com um botão, este botão exporta o resultado de uma consulta para o excel.
    Tenho um excel com uma macro que transforma (formata o layout e outras coisas) deste arquivo que o access gerou.
    Minha dúvida acredito ser simples, como faço para executar uma macro do excel via access.
    Quero incluir após o comando de exportar deste botão algo simples para executar a consulta, algo do tipo como faço para executar outros códigos através de um código.

    CALL "caminho e nome do arquivo excel", "nome da macro"

    Abraços a todos.


    .................................................................................
    Abraço

    André Lindolfo

    ACCESS Professional Plus 2010
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  criquio 13/9/2012, 20:24

    Para isso você precisará marcar a biblioteca relativa ao Excel na lista de Referências. Depois, utilizar um objeto setando-o para o arquivo desejado. Após isso, basta utilizar o método Run para abrir uma macro ou módulo no arquivo do Excel.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    andre lindolfo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 17/04/2012

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  andre lindolfo 18/9/2012, 19:57

    Oi,

    Coloquei o código abaixo, mas está informando erro:
    Erro de compilação
    o tipo definido pelo usuário não foi definido

    Pode me ajudar para resolver o problema que está dando na parte marcada?



    Private Sub Comando468_Click()
    'Executar macro no Excel
    Dim appExcel As Excel.Application
    Dim appExcelWorkbook As Excel.Workbook
    Set appExcel = New Excel.Application
    Set appExcelWorkbook = appExcel.Workbooks.Open(FileName:="\\netprd03\suprimentos\Arrumar arquivos regionais.xlsb")
    appExcel.Visible = True
    appExcel.Run "Formatar_arquivo_Direto"

    End Sub


    .................................................................................
    Abraço

    André Lindolfo

    ACCESS Professional Plus 2010
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  criquio 18/9/2012, 20:05

    Faltou marcar a o Excel nas referências conforme mencionei acima.
    Tambem é bom colocar um Set NomeVariável = Nothing no final de tudo, para liberar a memória do sistema:

    ....
    Set appExcelWorkbook = Nothing
    Set appExcel = Nothing



    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    andre lindolfo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 17/04/2012

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  andre lindolfo 18/9/2012, 20:31

    Reescrevi o código.... ele está rodando, mas como não sou muito bom nisso tem como vc dar uma analisada?

    Coloquei para não ser visível
    Quero "fechar" liberar a memória, veja se isto está funcionando

    'Executar macro no Excel
    Dim oApp As Object
    Set oApp = CreateObject("Excel.Application")
    Set e = CreateObject("Excel.Application")
    Set pasta = e.Workbooks.Open("\\netprd03\suprimentos\Arrumar arquivos regionais.xlsb")
    e.Visible = False
    e.Run "Formatar_arquivo_Direto"

    Set oApp = Nothing
    Set e = Nothing

    End Sub



    .................................................................................
    Abraço

    André Lindolfo

    ACCESS Professional Plus 2010
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  criquio 18/9/2012, 22:07

    Você declarou a variável "oApp" mas usou foi a "e" que não foi declarada. Tente assim:

    'Executar macro no Excel
    Dim oApp As Object

    Set oApp = CreateObject("Excel.Application")

    oApp.Workbooks.Open("\\netprd03\suprimentos\Arrumar arquivos regionais.xlsb")
    oApp.Visible = False
    oApp.Run "Formatar_arquivo_Direto"

    Set oApp = Nothing


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    andre lindolfo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 17/04/2012

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  andre lindolfo 19/9/2012, 13:06

    Bom dia,
    Coloquei o seu novo código e está funcionando.
    Mas ainda tenho uma dúvida.....
    Quando coloco o "Visible = True", quando ele acaba o Excel continua aberto.
    Minha dúvida é, mudando o Visible para False ele não continuará ativo no computador?
    Com o "Set oApp = Nothing" e a função "oApp.Visible = False", o excel realmente não está em execução no computador?


    []s





    .................................................................................
    Abraço

    André Lindolfo

    ACCESS Professional Plus 2010
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  criquio 19/9/2012, 13:52

    Adicione um oApp.Application.Quit antes da linha do Set oApp = Nothing. Para testar se tudo funciona a contento, execute a função e depois dela finalizada, abra o Gerenciador de Tarefas e verifique se o tem algum processo do Excel lá. Mas para isso não pode ter outro documentos Excel aberto.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    andre lindolfo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 139
    Registrado : 17/04/2012

    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  andre lindolfo 19/9/2012, 21:58

    maravilha....
    funcionou.

    Obrigado e sucesso a vc.


    .................................................................................
    Abraço

    André Lindolfo

    ACCESS Professional Plus 2010

    Conteúdo patrocinado


    [Resolvido]Executar Macro excel pelo Access Empty Re: [Resolvido]Executar Macro excel pelo Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 12:17