sexta-feira, 5 de setembro de 2025

📎 Exportação Automática de Anexos de E-mails do Outlook direto para pastas organizadas no seu computador

 


📎 Exportação Automática de Anexos de E-mails do Outlook direto para pastas organizadas no seu computador

Imagine que você recebe todos os dias dezenas de e-mails com notas fiscais, boletos ou relatórios. Normalmente você teria que abrir cada e-mail, salvar o anexo manualmente e depois organizar em pastas. 🥴

Com uma automação em VBA integrada ao Outlook, é possível:

  • Detectar quando chega um e-mail com anexo 📩

  • Extrair automaticamente o arquivo 🔽

  • Salvar direto em uma pasta do seu computador (ex.: C:\NotasFiscais\) 📂

  • Já nomear o arquivo com informações do e-mail (ex.: Data + Remetente + Nome do anexo) 🏷️


✨ Onde isso ajuda?

  • 📑 Escritórios que recebem muitas notas fiscais eletrônicas

  • 🏦 Empresas que precisam organizar boletos de fornecedores

  • 👩‍💼 Profissionais que recebem relatórios diários por e-mail

  • 📊 Organizar anexos em pastas sem esforço manual


🚀 Vantagens

✅ Evita perder documentos importantes
✅ Organiza automaticamente os anexos
✅ Garante mais produtividade e menos erros
✅ Ótimo para quem lida com grande volume de e-mails


👉 Essa é mais uma automação que a maioria das pessoas não conhece, mas que pode transformar sua rotina.

Automação no Excel com VBA: Registro Automático de E-mails no Outlook

 


📩💡 Automação no Excel com VBA: Registro Automático de E-mails no Outlook

Você já imaginou ter um relatório automático dos e-mails que chegam na sua caixa de entrada, direto em uma planilha do Excel? 🤔

Pois é… com VBA no Excel integrado ao Outlook, isso é totalmente possível! 🚀


✨ Como funciona na prática?

Sempre que um novo e-mail chega no Outlook, o Excel pode ser configurado para registrar automaticamente:

  • 👤 Quem enviou

  • 📝 O assunto

  • 📅 A data de recebimento

  • 📦 O tamanho da mensagem

Tudo isso em tempo real, sem você precisar copiar e colar nada manualmente.


🔎 Por que isso é útil?

Esse tipo de automação é pouco conhecida pelos usuários de Excel, mas pode fazer toda a diferença em diversos cenários:

  • 📊 Controle de chamados (e-mails de suporte organizados em relatórios)

  • 👨‍💼 Gestão de clientes (acompanhando quem entrou em contato e quando)

  • 🕵️ Auditoria (registro de todas as comunicações recebidas)

  • 📈 Métricas de produtividade (quantidade de e-mails recebidos por dia, semana ou mês)


🚀 Vantagens

✅ Economia de tempo
✅ Relatórios confiáveis sem trabalho manual
✅ Integração direta entre Outlook e Excel
✅ Organização automática


👉 Essa é uma daquelas automações que poucos exploram, mas que podem levar sua rotina a outro nível. Se você usa muito e-mail no dia a dia, vale a pena considerar!


📌 Curtiu essa ideia? Compartilhe com seus colegas que também usam Excel e querem descobrir recursos escondidos do VBA! 😉

Excel VBA na Prática: Como usar tratamento de erros no VBA

 

📘 Excel VBA na Prática: Como usar tratamento de erros no VBA ⚠️✨

Quando criamos automações no VBA, é comum acontecerem erros inesperados — como tentar abrir um arquivo que não existe, acessar uma célula vazia ou dividir por zero.
Se não tratarmos esses erros, o Excel mostra mensagens confusas e interrompe a macro.

👉 Para evitar isso, usamos o tratamento de erros no VBA.


🔎 Definição

O tratamento de erros no VBA é feito com instruções como:

  • On Error GoTo Rótulo → envia o fluxo do código para uma seção de tratamento de erros.

  • On Error Resume Next → ignora o erro e continua na próxima linha (usado em situações específicas).

  • On Error GoTo 0 → desativa o tratamento de erros personalizado, voltando ao padrão.


🛠️ Exemplo prático com Workbook

Imagine que você quer abrir um arquivo, mas não sabe se ele existe.
Sem tratamento de erros, sua macro pararia com uma mensagem do Excel.
Com tratamento, você controla a situação:

Sub AbrirArquivoSeguro() Dim wb As Workbook Dim Caminho As String Caminho = "C:\Users\Usuario\Documents\Relatorio.xlsx" On Error GoTo TrataErro ' Tenta abrir o arquivo Set wb = Workbooks.Open(Caminho) MsgBox "Arquivo " & wb.Name & " aberto com sucesso!", vbInformation Exit Sub ' Sai antes da rotina de erro TrataErro: MsgBox "Erro ao abrir o arquivo. Verifique se o caminho está correto.", vbCritical End Sub

O que acontece aqui?

  • O código tenta abrir o arquivo.

  • Se o caminho estiver certo → abre normalmente.

  • Se houver erro (arquivo não existe, corrompido etc.) → o código não trava, e o usuário recebe uma mensagem amigável.


⚠️ Dica de ouro:

  • Sempre use tratamento de erros em rotinas críticas, como abrir arquivos, conexões com bancos de dados ou manipulação de planilhas.

  • Evite usar On Error Resume Next sem critério — ele pode mascarar problemas sérios.


💡 Resumo rápido:
O tratamento de erros no VBA é essencial para tornar suas automações mais robustas e profissionais, garantindo que o usuário receba mensagens claras em vez de travamentos inesperados.

🚀 Um código com tratamento de erros transmite confiança e evita dores de cabeça no dia a dia.


📢🟢 Consultoria Contábil Inteligente
💼 Abertura e registro de empresas no Simples Nacional
📊 Acompanhamento contábil e fiscal mensal
⚖️ Planejamento tributário estratégico

👉 Fale comigo e organize sua empresa pagando apenas o necessário em impostos!

quinta-feira, 4 de setembro de 2025

Excel VBA na Prática: O que é e como usar o Application.GetOpenFilename no Workbook


📘 Excel VBA na Prática: O que é e como usar o Application.GetOpenFilename no Workbook 📂✨

Quando você cria automações em VBA, muitas vezes precisa permitir que o usuário escolha um arquivo do computador para trabalhar.
E é aí que entra o comando:

👉 Application.GetOpenFilename


🔎 Definição

O Application.GetOpenFilename é um método que abre a caixa de diálogo "Abrir Arquivo" no Excel e retorna o caminho completo do arquivo escolhido pelo usuário.

⚠️ Importante: ele não abre o arquivo, apenas retorna o caminho.


🛠️ Exemplo prático com Workbook

Imagine que você está criando uma rotina no seu Workbook para permitir que o usuário selecione um arquivo Excel e depois abri-lo automaticamente.

Sub SelecionarArquivo() Dim CaminhoArquivo As Variant Dim wb As Workbook ' Abre a janela para selecionar arquivo Excel CaminhoArquivo = Application.GetOpenFilename( _ FileFilter:="Arquivos do Excel (*.xlsx; *.xlsm), *.xlsx; *.xlsm", _ Title:="Selecione o arquivo de relatório") ' Verifica se o usuário cancelou If CaminhoArquivo = False Then MsgBox "Nenhum arquivo selecionado.", vbExclamation Exit Sub End If ' Abre o arquivo escolhido Set wb = Workbooks.Open(CaminhoArquivo) MsgBox "O arquivo " & wb.Name & " foi aberto com sucesso!", vbInformation End Sub

O que acontece aqui?

  1. O usuário clica em Selecionar Arquivo.

  2. O Excel abre a caixa de diálogo padrão do Windows.

  3. O caminho do arquivo escolhido é retornado.

  4. O código abre esse arquivo no Excel e exibe uma mensagem de confirmação.


⚠️ Dica de ouro:

Você pode personalizar os filtros de arquivos para limitar a seleção.
Exemplo: só permitir imagens, CSVs ou PDFs.

FileFilter:="Arquivos CSV (*.csv), *.csv"

💡 Resumo rápido:
O Application.GetOpenFilename é perfeito quando você precisa dar liberdade ao usuário para escolher arquivos dinamicamente, tornando suas automações mais flexíveis e amigáveis.

🚀 Ótimo para importar dados de diferentes fontes sem precisar alterar o código toda hora.


👉 Gostou dessa dica? Continue acompanhando o blog para mais truques de VBA no Excel que vão turbinar sua produtividade! 🔥


📢 Precisa de ajuda com sua contabilidade?
Sou contador especializado em profissionais de serviços. Posso te ajudar com:
✅ Abertura e registro de empresas no Simples Nacional
✅ Acompanhamento mensal
✅ Tributação e planejamento tributário

👉 Entre em contato e tenha sua empresa organizada, pagando apenas o que é necessário de impostos!

segunda-feira, 1 de setembro de 2025

Como usar Python para localizar arquivos grandes que ocupam espaço no seu PC

 


🖥️ Como usar Python para localizar arquivos grandes que ocupam espaço no seu PC

Você já percebeu que o computador está ficando lento ou com pouco espaço no HD/SSD, mas não sabe quais arquivos estão consumindo tanto armazenamento? 🤔
Com Python, é possível criar um script simples que percorre pastas do seu PC e mostra os arquivos mais pesados, ajudando você a liberar espaço rapidamente.


🚀 Contexto prático

Muitas vezes acumulamos vídeos, imagens ou backups antigos que nem lembramos mais que existem. Em vez de procurar manualmente, podemos automatizar essa tarefa.


🐍 Exemplo de código em Python

import os # Defina a pasta onde deseja procurar caminho = "C:/Users/seu_usuario/Downloads" # Lista para armazenar arquivos encontrados arquivos_grandes = [] # Percorre todas as pastas e arquivos for raiz, pastas, arquivos in os.walk(caminho): for arquivo in arquivos: caminho_arquivo = os.path.join(raiz, arquivo) try: tamanho = os.path.getsize(caminho_arquivo) if tamanho > 50 * 1024 * 1024: # maior que 50MB arquivos_grandes.append((caminho_arquivo, tamanho)) except: pass # Ordena do maior para o menor arquivos_grandes.sort(key=lambda x: x[1], reverse=True) # Exibe resultados for arq, tam in arquivos_grandes: print(f"{arq} - {tam / (1024*1024):.2f} MB")

📊 Saída esperada

Quando você rodar esse script, verá algo assim no terminal:

C:/Users/seu_usuario/Downloads/video1.mp4 - 850.23 MB C:/Users/seu_usuario/Downloads/backup.zip - 420.11 MB C:/Users/seu_usuario/Downloads/instalador.iso - 2,340.45 MB

Isso facilita encontrar e excluir arquivos pesados que já não fazem sentido manter.


💡 Prompt sugerido para IA

Se você quiser usar uma IA gratuita para personalizar o código acima, experimente um prompt como:

👉 “Crie um script em Python que liste todos os arquivos maiores que 100MB em uma pasta específica, mostrando o caminho e o tamanho em MB.”


📚 Dica Extra

Você pode alterar o valor 50 * 1024 * 1024 no código para outro limite, como 100 MB ou 500 MB, dependendo da sua necessidade.


📈 Conclusão

Esse simples script ajuda você a organizar melhor seu computador, liberar espaço e aumentar a performance sem instalar nenhum programa extra.


💼 Propaganda pessoal

👨‍💼 Sou contador especializado em ajudar profissionais de serviços.
Posso auxiliar você na abertura e registro de empresas no Simples Nacional, além de oferecer acompanhamento mensal, tributação e planejamento tributário sob medida.

Excel VBA na Prática: O que é e como usar o Application.EnableEvents no Workbook

 

📘 Excel VBA na Prática: O que é e como usar o Application.EnableEvents no Workbook

Quando trabalhamos com macros no Excel, muitas vezes usamos eventos como Workbook_Open, Workbook_BeforeClose ou Worksheet_Change.
Esses eventos são super úteis para automatizar tarefas — mas em alguns casos, eles podem atrapalhar.

👉 É para isso que serve o comando:

Application.EnableEvents


🔎 Definição

O Application.EnableEvents é uma propriedade do Excel VBA que ativa ou desativa a execução dos eventos do Excel.

  • True (padrão): eventos estão ativos.

  • False: eventos são desativados (nenhum evento será disparado até ser reativado).


🛠️ Exemplo prático com Workbook

Imagine que você precisa abrir um Workbook, copiar dados e fechar, mas esse arquivo tem eventos configurados (como macros no Workbook_Open).
Para evitar que essas macros rodem automaticamente, podemos desativar os eventos temporariamente.

Sub AbrirWorkbookSemEventos() Dim wb As Workbook ' Desativa os eventos Application.EnableEvents = False ' Abre o arquivo sem disparar o evento Workbook_Open Set wb = Workbooks.Open("C:\Users\Usuario\Documents\Controle.xlsx") ' Exemplo: apenas exibe o nome do arquivo aberto MsgBox "Arquivo aberto: " & wb.Name, vbInformation ' Fecha o arquivo wb.Close SaveChanges:=False ' Reativa os eventos Application.EnableEvents = True End Sub

O que acontece aqui?

  • O código abre o Workbook sem disparar macros automáticas ligadas a eventos.

  • Após o processamento, os eventos são reativados normalmente.


⚠️ Dica de ouro:

Sempre reative os eventos ao final do código, mesmo se ocorrer erro.
Uma boa prática é usar o On Error para garantir que Application.EnableEvents volte a True.

Exemplo:

On Error GoTo Saida ' Seu código aqui Saida: Application.EnableEvents = True

💡 Resumo rápido:
O Application.EnableEvents é essencial quando você precisa controlar os eventos do Excel, evitando que macros automáticas interfiram em suas rotinas personalizadas.

🚀 Ideal para abrir, manipular e fechar Workbooks sem disparar ações indesejadas!


sexta-feira, 29 de agosto de 2025

Usando o Application.DisplayStatusBar para acompanhar o progresso da automação


 

📘 Excel VBA na Prática: Usando o Application.DisplayStatusBar para acompanhar o progresso da automação

Quando rodamos uma macro em planilhas grandes (com centenas de milhares de linhas), muitas vezes o usuário fica sem saber se o processo está andando ou travado.

👉 Para melhorar a experiência, podemos usar o comando:

Application.DisplayStatusBar

Ele permite exibir mensagens personalizadas na barra de status do Excel, mostrando o progresso da execução da macro em tempo real. 🚀


🔎 Definição

O Application.DisplayStatusBar é uma propriedade do Excel VBA que controla a exibição da barra de status.
Além disso, podemos atribuir mensagens diretamente a Application.StatusBar para informar o que está acontecendo no processo.


🛠️ Exemplo prático: Processando 500.000 linhas com barra de progresso

Sub ProcessarLinhasComStatus() Dim wb As Workbook Dim ws As Worksheet Dim ultimaLinha As Long Dim i As Long Dim perc As Double ' Define a planilha Set wb = ThisWorkbook Set ws = wb.Sheets("Dados") ' Encontra a última linha ultimaLinha = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Garante que a barra de status esteja ativa Application.DisplayStatusBar = True ' Loop pelas linhas For i = 1 To ultimaLinha ' --- Aqui você coloca o que será processado --- ' Exemplo: apenas lendo a célula Dim valor As Variant valor = ws.Cells(i, 1).Value ' Calcula percentual perc = (i / ultimaLinha) * 100 ' Atualiza a barra de status Application.StatusBar = "Processando linha " & i & " de " & ultimaLinha & _ " (" & Format(perc, "0.00") & "% concluído)" ' Simulação de tempo de processamento DoEvents Next i ' Restaura a barra de status para o padrão Application.StatusBar = False End Sub

O que acontece aqui?

  • O Excel percorre todas as linhas da planilha.

  • A cada iteração, a barra de status mostra:

    • O número da linha atual.

    • O total de linhas.

    • O percentual concluído.

  • No final, a barra de status é restaurada ao normal.


⚠️ Dica de ouro:

Sempre finalize seu código com:

Application.StatusBar = False

Assim, a barra volta ao comportamento padrão do Excel.


💡 Resumo rápido:
Com o Application.DisplayStatusBar e o Application.StatusBar, você pode criar um indicador de progresso para grandes automações no Excel. Isso torna sua macro mais profissional, intuitiva e amigável para o usuário.

🚀 Perfeito para processar grandes volumes de dados sem deixar o usuário perdido!


👉 Gostou da dica? Continue acompanhando o blog para mais truques de VBA no Excel que transformam sua experiência em automação! 🔥