Executar macro sempre que fechar qualquer arquivo no Excel

Anônima
2010-03-30T21:30:47+00:00

Caros,

Preciso que sempre antes que seja fechado um arquivo no excel seja executada uma macro para a devida classificação do documento. Fiz isso no Normal.dot do Word com o AutoClose e funcionou direitinho. Quando usei o arquivo Pasta.xlt com Private Sub Workbook_BeforeClose só funcionou quando abro o excel sem acessar um documento qualquer antes, ou seja, quando clico em um documento existente o excel sai e não executa a macro. Tentei colocar no PESSOAL.xls mas também não resolveu meu problema. Alguém poderia me dar uma dica por gentileza? Desde já fico grata.

Microsoft 365 e Office | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2010-04-02T01:27:03+00:00

Crie um módulo de classe na sua pasta pessoal.

Dim WithEvents app As Excel.Application Private Sub Class_Initialize() Set app = Application End Sub Public Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, _ Cancel As Boolean) MsgBox "salvando" End Sub

Na mesma pasta pessoal, garanta a execução da classe.

Dim appEvents As Classe1 Private Sub Workbook_Open() Set appEvents = New Classe1 End Sub Vai valer para todos os arquivos.

Esta resposta foi útil?

0 comentários Sem comentários

17 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2010-04-07T12:33:51+00:00

    Oi Luiz ... Efetuei novos teste e verifiquei que mesmo com a rotina de abertura ocorre o seguinte:

    • Quando vou abrir um documento do excel é aberto primeiramente a macro e ela não consegue classificar o documento pois não consegue referenciá-lo ...

    Minha necessidade é: Quando fechar um documento qualquer este mesmo documento seja rotulado de acordo com minha macro.

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2010-04-07T12:17:59+00:00

    Obrigada Roberto

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2010-04-07T11:44:01+00:00

    Alguma idéia Luiz? Desde já muito obrigada!

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2010-04-07T11:35:26+00:00

    Bom dia,

    Como descrito acima, o Luiz está apresentando algumas possibilidades, mas em se falando de macro, você pode determinar ao computador que execute determinada rotina por meio dela, bastando apenas a digitação das mesmas dentro da macro...

    Neste caso, no mesmo módulo proposto pelo Luiz, que você criou a macro que funciona na abertura, vc deverá estabelecer os comandos para serem executados no caso do encerramento do aplicativo em si... para tanto, deverá criar a macro e suas variáveis de ação (rotinas a serem executadas)

    O Luiz te apresentou uma possibilidade para Inicializar....  e se você a adaptasse para Finalizar o procedimento e junto a ela agregasse as rotinas das quais precisa?

    Apenas tentando contribuir...

    Roberto Carlos Bilio

    Goiânia - Go.

    Esta resposta foi útil?

    0 comentários Sem comentários