Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Avatar do usuário
Por WagnerMorel
Posts Avatar
#55400
Pessoal,

Boa tarde!

Sei que não temos uma área própria para desenvolvimento de VBA em Outlook e, por essa razão estou colocando essa dúvida aqui. Preciso de um código VBA para Outlook que salve os itens lidos e já fechados que estão na pasta Itens Enviados do Outlook, em qualquer pasta no computador local (que pode ser definida em uma variável Caminho, por exemplo).

Essa mesma solicitação estou colocando em outros dois fóruns.
#55429
Pessoal, bom dia!

Agradeço a todos que leram essa mensagem e que tentaram, de algum modo, apresentar uma solução. Pesquisando um pouco mais e queimando uns neurônios extras, eu mesmo desenvolvi a solução. Segue, abaixo, para quem tiver o mesmo tipo de problema em algum momento:
Código: Selecionar todos
Sub SaveEmailAndAttach()
    '================================================================================
    'Código Desenvolvido por Wagner Morel em 01/06/2020 para salvar itens que estão _
    em Itens Enviados no Outlook em uma pasta na Unidade C.
    '================================================================================
    'Cria variáveis
    Dim myOlapp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Dim MinhaPasta As Outlook.MAPIFolder
    Dim MeuItem As Outlook.MailItem
    Dim Caminho As String
    Dim Assunto As String
    
    'Atribui valores aos objetos do outlook
    Set myOlapp = CreateObject("Outlook.Application")
    Set myNamespace = myOlapp.GetNamespace("MAPI")
    
    'Define a pasta onde os arquivos serão salvos
    Caminho = "C:\Users\WAGNER MOREL\"
    
    'Atribui a variável objeto do outlook a pasta Itens Enviados
    Set MinhaPasta = myNamespace.GetDefaultFolder(olFolderSentMail)
    
    'Laço para varrer cada arquivo da pasta Itens Enviados
    For Each MeuItem In MinhaPasta.Items
        'Tratamento do caracteres que não podem estar contidos no assunto (para salvar)
        'Armazena o assunto
        Assunto = MeuItem.Subject
        'Retira barras normais
        Assunto = Replace(Assunto, "/", "-")
        'Retira barras invertidas
        Assunto = Replace(Assunto, "\", "-")
        'Retira pontos
        Assunto = Replace(Assunto, ".", "")
        'Salva os itens na pasta especificada com o nome do assunto
        MeuItem.SaveAs Caminho & Assunto & ".msg"
    Next
    
    Set Folder = Nothing
    Set OutlookNamespace = Nothing
    Set OutlookApp = Nothing
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord