Macro, VBA, OUTLOOK, ACCESS.

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Macro, VBA, OUTLOOK, ACCESS.

Mensagempor lpnluccas » Sex Out 04, 2019 3:53 pm

Olá, nao tenho muito conhecimento em vba mas gostaria da ajuda de vocês, preciso desenvolver um macro, onde ele pega o endereco de email(outlook) do remetente, verifica esse endereço no banco de dados access, e salva os anexos do email renomeandos conforme o codigo salvo no banco de dados desse remetente, poderiam me ajudar com isso, tenho o macro onde ele salva os anexos dos emails selecionados, mas com o nome original do arquivo, segue o macro,

Código: Selecionar todos
Public Sub AttachmentIndex()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem
Dim objAttachments As Outlook.Attachments
Dim objSelection As Outlook.Selection
Dim i As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String
         
    Dim sAppName As String
    Dim sSection As String
    Dim sKey As String
    Dim lRegValue As Long
    Dim lFormValue As Long
    Dim iDefault As Integer
     
    sAppName = "Outlook"
    sSection = "Index"
    sKey = "Last Index Number"
     iDefault = 10000
 
     lRegValue = GetSetting(sAppName, sSection, sKey, iDefault)
 
     If lRegValue = 0 Then lRegValue = iDefault

    strFolderpath = CreateObject("WScript.Shell").SpecialFolders(16)
    On Error Resume Next

    Set objOL = Application
    Set objSelection = objOL.ActiveExplorer.Selection


     strFolderpath = "C:\Temp\AnexosOutlook\"

    For Each objMsg In objSelection

    Set objAttachments = objMsg.Attachments
    lngCount = objAttachments.Count
         
    If lngCount > 0 Then
    For i = lngCount To 1 Step -1
    strFile = objAttachments.Item(i).FileName
    Atmt.SaveAsFile FileName
   
    lcount = InStrRev(strFile, ".") - 1
    pre = Left(strFile, lcount)
    ext = Right(strFile, Len(strFile) - lcount)
    strFile = strFolderpath & pre & "_" & lRegValue & ext

    objAttachments.Item(i).SaveAsFile strFile
 
    lRegValue = lRegValue + 1
        Err.Clear
    Next
     
     SaveSetting sAppName, sSection, sKey, lRegValue

    End If
     
    Next
   
ExitSub:
   
Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing

End Sub
lpnluccas
Membro
Membro
 
Mensagens: 2
Registrado em: Sex Out 04, 2019 3:48 pm
Has thanked: 0 time
Have thanks: 0 time

{ SO_SELECT }

Re: Macro, VBA, OUTLOOK, ACCESS.

Mensagempor rlm » Sex Out 04, 2019 5:39 pm

Aparentemente no trecho:
Código: Selecionar todos
...lcount = InStrRev(strFile, ".") - 1
    pre = Left(strFile, lcount)
    ext = Right(strFile, Len(strFile) - lcount)
    strFile = strFolderpath & pre & "_" & lRegValue & ext..

A denominação do anexo já é alterada, mas deseja diferente; qual seria o objetivo final
Reinaldo
Garça - SP / SCS - SP
Avatar do usuário
rlm
Ninja do Excel
Ninja do Excel
 
Mensagens: 410
Registrado em: Qui Out 16, 2014 12:30 pm
Has thanked: 30 times
Have thanks: 185 times

Re: Macro, VBA, OUTLOOK, ACCESS.

Mensagempor lpnluccas » Sex Out 04, 2019 10:55 pm

Reinaldo, o objetivo final seria o seguinte, você me envia um e-mail com 5 anexos, sendo assim eu tenho seu endereço de e-mail salvo no meu banco de dados, eu quero que ele verifique o e-mail de quem me mandou esses anexos, puxe isso no banco de dados, nesse banco de dados tem um tabela que contem 4 dígitos, que seria o código da empresa, ele pega esses 4 dígitos e coloque na frente dos anexos, associando os anexos ao código da empresa.
lpnluccas
Membro
Membro
 
Mensagens: 2
Registrado em: Sex Out 04, 2019 3:48 pm
Has thanked: 0 time
Have thanks: 0 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google [Bot] e 5 visitantes